xml で定義された四角形を含む単純な Android プロジェクトがありますが、プログラムで単色で塗りつぶす方法が見つかりません。
main.xml ファイルには次のものがあります。
<ImageView
android:id="@+id/Smoke20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/editText2"
android:layout_marginLeft="26dp"
android:src="@drawable/zonebox" />
zonebox が res/drawable/zonebox.xml で次のように定義されている場所
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<size
android:width="80sp"
android:height="20sp" />
<stroke
android:width="1dp"
android:color="#88888888" />
<!-- solid
android:color="#0A0" />
-->
</shape>
私のコードでは、たとえば、長方形の境界の色を次のように変更できます
int colourBox = getResources().getColor(R.color.fire2_fire_color);
View rectTest = findViewById(R.id.Smoke20);
rectTest.setBackgroundColor(colourBox);
しかし、コメントアウトされているようにxmlで簡単に実行できる「ソリッド」属性をコードで複製することはできません。私は明らかにこれを間違った方法で行っていますが、かなりの調査の後、私はまだ暗闇の中にいます.
次のようにxmlリソースを取得することを検討しましたが、これも長方形を埋めるための適切な方法を提供していません。
ShapeDrawable viewTest = (ShapeDrawable)getResources().getDrawable(R.id.Smoke20);
ありがとう