2013-08-03 22 views
6

私のドロウアブルフォルダには、/drawable/mybkg.xmlというファイルがあります。私はそれを膨らませて、プログラムで色を変えることができます。それはAndroidで可能ですか?アンドロイドでレイヤーリストを膨張させる

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item> 
     <shape android:shape="oval" > 
      <padding 
       android:top="5dp" 
       android:bottom="2dp" 
       android:left="2dp" 
       android:right="2dp" /> 

      <solid 
       android:angle="270" 
       android:color="#1bd4f6" /> 

      <stroke 
       android:width="2dp" 
       android:color="#121ce5" /> 
     </shape> 
    </item> 

    <!-- Foreground --> 
    <item> 
     <shape android:shape="oval" > 

      <solid android:color="#1b90f6" /> 
     </shape> 
    </item> 

</layer-list> 

私はちょうどLayerDrawableというクラスを見た。誰も私のxmlファイルをそのようなLayerDrawableに変換する方法を知っていますか?コードを書くか、既存のxmlを膨らませるか?

答えて

1

Resources.getDrawable(int id)メソッドを使用する必要があります。ドキュメントは次のとおりです:http://developer.android.com/reference/android/content/res/Resources.html#getDrawable(int) それはあらゆる種類の描画可能なリソースを膨らませます。返されたドロウアブルを必要な最も特殊なタイプ(場合によってはLayerDrawable)にキャストすることだけが残っています。ここに例があります:

// calling from Activity 
LayerDrawable d = (LayerDrawable) getResources().getDrawable(R.drawable.my_drawable); 
関連する問題