1. ホーム
  2. android

[解決済み] シェイプの色を動的に変更するには?

2022-06-07 19:18:14

質問

私は

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
    <solid
       android:color="#FFFF00" />
    <padding android:left="7dp"
        android:top="7dp"
        android:right="7dp"
        android:bottom="7dp" />
</shape>

<TextView
    android:background="@drawable/test"
    android:layout_height="45dp"
    android:layout_width="100dp"
    android:text="Moderate"
/>

さて、この図形はウェブサービスの呼び出しから戻ってくる情報に基づいて色を変えたいと思います。つまり、ウェブサービスの呼び出しから受け取った色に応じて、黄色や緑、赤などの色にすることができます。

図形の色を変更するにはどうすればよいですか?この情報に基づいて?

どのように解決するのですか?

以下のように簡単に修正できます。

GradientDrawable bgShape = (GradientDrawable)btn.getBackground();
bgShape.setColor(Color.BLACK);