11

のようなものを持つことは可能ですか?

drawable/myshape.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">

    <solid android:color="{0}" />
</shape>

次に、Java クラスから、このドローアブルをパラメーターに渡す値を取得します。何かのようなもの

Drawable myshape = ???.getDrawableWithParameters(R.drawable.myshape, 0x00ff00);
4

1 に答える 1

0

shape例に示した方法でを作成すると、 としてアクセスできるようになりますGradientDrawable

GradientDrawable d = (GradientDrawable) getResources().getDrawable(R.drawable.yourid);

ドキュメント(上記のリンク)を見ると、すべての関数が表示され、GradientDrawableオブジェクトからアクセスできます。このオブジェクトを使用して、後でプログラムで背景と境界線の色と幅を設定することもできます。

xml でシェイプを作成するたびにGradientDrawable. Drawable形状のいくつかのプロパティを自分で変更する必要があり、他のタイプのsにキャストしようとすると ClassCastExceptions が表示されることがわかりました

于 2012-09-12T22:25:57.640 に答える