shapeを使用している場合は、コードでshapeの色属性を変更します.

1085 ワード

Androidではshapeを使ってViewの背景をカスタマイズすることがよくあります
ビューの背景色を変更できます.シェイプなどのプロパティ
普通の場合.shapeはxmlファイルに面と向かって死んだ.今日1つの需要に出会って、Viewの形は丸いですが、色はコードの中で設定されています.
最初のアイデアは、まずコードにViewに色を設定することです.さらにshapeにsolid属性を透明色に設定
<?xml version="1.0" encoding="utf-8"?

> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:topLeftRadius="8dp" android:topRightRadius="8dp" android:bottomLeftRadius="8dp" android:bottomRightRadius="8dp"/> <solid android:color="#00000000"/> </shape>

View.setBackgroundColor(color);
View.setBackgroundDrawable(R.drawable.shape);

残念ながら、私の希望する需要を実現することができず、一度Backgroundを設定するたびに、Backgroundは置き換えられます.
最後にインターネットでGoogleを利用して、解決方法を見つけましたhttp://stackoverflow.com/questions/16775891/how-to-change-solid-color-from-the-code
GradientDrawable myGrad = (GradientDrawable)view.getBackground();
myGrad.setColor(color);