2013-05-31 25 views
5

を送信する:あなたが見ることができるようAndroidのカスタム背景XML、私は次のXMLファイル持つ属性

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#FFFFFF"/> 
    <corners android:radius="10dp"/> 
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> 
</shape> 

を、それがすべてでは、角の丸い形状です。

android:background="@drawable/rounded_corners" 

ファイルの形状は現在白に設定されています。異なるレイアウトでは、私は異なる色が必要です。色ごとに異なる形状のXMLファイルを作成する必要がありますか?レイアウトにどの色をバックグラウンドに送るかを指定するだけの方法が必要です。その方法で、私が望む任意の色に同じxmlを使用できます。

ありがとうございました。

+0

これはあなたが探しているものかもしれません:http://stackoverflow.com/questions/11376516/change-drawable-color-programmatically – TronicZomB

+0

私はxml経由で設定する方法を探しています。 background = "red" src = "drawable .."のようなもの – Meir

+0

この場合、私はこれが可能であるとは思わないし、複数の図形が必要になります。私は間違っているかもしれませんが、その場合にもこれを行う方法を知りたいです。 – TronicZomB

答えて

1
Do I need to create a different shape xml file for each color? 
  • はい、あなたは別のレイアウトファイルに別の色を適用する場合レイアウトのxmlファイルから自体は
  • いいえ、あなたはそののjava(Activityから別のレイアウトファイルに別の色を適用した場合)ファイル

オプション2のためのソリューション:

//形状の描画可能(rounded_corners.xml)

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#FFFFFF"/> 
    <corners android:radius="10dp"/> 
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> 
</shape> 

//レイアウトファイル

 <Button 
      android:id="@+id/mButton" 
      ... 
      android:background="@drawable/rounded_corners" 
      /> 

// javaの(活動)ファイル

Button mButton = (Button) findViewById(R.id.mButton); 
ShapeDrawable rounded_corners = (ShapeDrawable)mButton.getBackground(); 
rounded_corners.getPaint().setColor(Color.RED); 

私はそれが参考になることを願っています!

+0

ありがとう...アンドロイドはwpfから少しを学ぶべきです... – Meir

関連する問題