2017-07-28 10 views
0

私はバックグラウンドをカスタマイズし、背景を変更したレスポンスを含むボタンスタイルを作成しようとしています。私はand drawableを使ってやった。直接組み込みと単純@使用の違い

スタイル

<style name="BoltButton" parent="android:style/Widget.Button"> 
    <item name="android:background">@drawable/gree_btn_background</item> 
    <item name="android:paddingTop">10dp</item> 
    <item name="android:paddingBottom">10dp</item> 
</style> 

/drawable/gree_btn_background.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:drawable="@color/btn_pressed"/> 
    <item android:state_focused="true" android:drawable="@color/btn_focuse"/> 
    <item android:drawable="@color/btn_green"/> 
</selector> 

上記の設定が動作し、私は描画可能なファイルを削除し、直接<item name="android:background"></item>下に配置しようしようとすると、エラーが来ますそれで、@を使って、それを直接使うのは違うのですか?なぜ上のケースがうまくいかなかったのですか?

以下のコードは、描画可能な、ない<selector>のためにその期待IDをその内部

<item name="android:background"> 
     <selector > 
     <item android:state_pressed="true" android:drawable="@color/bolt_btn_pressed"/> 
     <item android:state_focused="true" android:drawable="@color/bolt_btn_focuse"/> 
     <item android:drawable="@color/bolt_btn_green"/> 
     </selector> 
</item> 

答えて

2

<item name="android:background"></item>を動作しません。

ので、我々はあなたが与える描画可能なIDを与える必要があり、以前の<item name="android:background">@drawable/gree_btn_background</item>

+0

あなたは、私がを使用することはできません意味ですか? – panda

+0

タグ内には使用できません。 –

関連する問題