如何以编程方式设置Textview的属性?

时间:2018-10-23 09:54:59

标签: java android xml android-layout

如何从XML代码中以编程方式设置Textview的属性值?

  <TextView
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_margin="3dp"
    android:layout_weight="0.5"
    android:background="@color/colorPrimary"
    android:gravity="center"
    android:text="text1" />

  <TextView
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_margin="3dp"
    android:layout_weight="0.5"
    android:background="@color/colorPrimary"
    android:gravity="center"
    android:text="text2" />

3 个答案:

答案 0 :(得分:0)

    TextView textView = new TextView(this);

    //set layout weight like this where 0.5 f is layout_weight
    LayoutParams params = new LinearLayout.LayoutParams(0, LayoutParams.WRAP_CONTENT, 0.5f); 
        params.setMargins(10, 0, 5, 0);
        textView.setLayoutParams(params);
        textView.setBackgroundColor(Color.WHITE);
        textView.setGravity(Gravity.CENTER);
        textView.setText("Text");

答案 1 :(得分:0)

您所掌握的基本信息: 您在XML布局中获取的每个视图实际上都是您要获取的类对象。是的,所以这些类是LinearLayout,TextView,Button等。

现在如上所述,这些都是类,因此可以以编程方式访问它们,您可以创建特定视图的对象,访问并应用可用方法:

例如:

TextView textView = new TextView(this);
textView.setText("Hello World!");
textView.setId(randomId);
textView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));

答案 2 :(得分:0)

如果要更改宽度,高度,重力...,则必须使用textView的LayoutParams对象

https://developer.android.com/reference/android/view/ViewGroup.LayoutParams