gpt4 book ai didi

java - 以编程方式编辑自定义 View

转载 作者:搜寻专家 更新时间:2023-11-01 09:37:28 26 4
gpt4 key购买 nike

我创建了这样的布局:

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rlMenu"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_centerVertical="true">

<RelativeLayout
android:background="@drawable/dark_rectangle_bord"
android:id="@+id/rl1dia"
android:elevation="10dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_width="@dimen/sizeCard"
android:layout_height="@dimen/sizeCard"
android:layout_marginBottom="@dimen/padding_bottom_cards"
android:layout_marginEnd="@dimen/padding_end_cards"
android:layout_marginRight="@dimen/padding_end_cards"
android:layout_marginLeft="@dimen/padding_start_cards"
android:layout_marginStart="@dimen/padding_start_cards"
android:layout_marginTop="@dimen/padding_top_cards">

<TextView
android:text="1º Dia"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv1dia"
android:textStyle="normal|bold"
android:textColor="@color/Branco"
android:layout_alignParentBottom="true"
android:padding="10dp"
android:textSize="@dimen/texto_pequeno"
android:gravity="center"
android:fontFamily="sans-serif"
android:layout_centerHorizontal="true"/>

<ImageView
app:srcCompat="@drawable/ic_calendario_1"
android:id="@+id/iv1dia"
android:layout_width="@dimen/sizeImage"
android:layout_height="@dimen/sizeImage"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
/>

之后,我将其包含在我的 MainActivity 中。

    <include
android:id="@+id/my_custom_view"
layout="@layout/custom_view></include>

但是在这个自定义 View 中有一个RelativeLayout、一个ImageView 和一个TextView。我需要动态创建一些自定义 View ,示例如下。

我如何以编程方式创建此自定义 View ?例如:

   Button bt = new Button(MainActivity.this);

如何以编程方式更改 TextViewRelativeLayout、背景和 ImageView 如:

  CustomView cv = new CustomView(MainActivity.this);
cv.setImage(R.drawable.chips);
cv.setRlBackground(Color.WHITE);
cv.setText("Hello, World!");

最佳答案

你可以为此使用 LayoutInflater

    LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View mView = (View) inflater.inflate(R.layout.custom_view, null);
View email = (View) mView.findViewById(R.id.email);
yourParentView.addView(mView);

但是请确保当您将 View 添加到其父 View 时调用removeAllview() yourParentView 的方法

关于java - 以编程方式编辑自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41979776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com