0

我有一个这样的布局(我用于片段):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:minWidth="25px"
   android:minHeight="25px">
<TextView
    android:id="@+id/Text_Value"
    android:text="0"
    android:textSize="32dp"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/PlaySquareShape"/>
</RelativeLayout>

我有这个形状作为上面布局中 TextView 的背景:

  <shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle">
        <solid android:color="#ffffff" />
        <stroke android:width="1dip" android:color="#4fa5d5"/>
  </shape>

我需要更改可绘制对象的颜色。如何从代码中访问它?

我基本上显示了许多片段实例,我需要从特定片段访问背景可绘制对象。

4

1 回答 1

3

你可以这样做:

View v = findViewById(R.id.Text_Value);
ShapeDrawable d = (ShapeDrawable) v.getBackground();

或者,如果您有对特定 a 片段的引用:

View v = frag.getView().findViewById(R.id.Text_Value);
于 2013-10-15T20:13:04.567 回答