2016-10-18 4 views
1

私のアプリでは、すべてのボタンが同じ背景になるようにします。ボタンの背景をAPIのバージョンに基づいてアンドロイドの属性から設定します

API 21

以降?android:attr/selectableItemBackgroundBorderless

古いAPIは、それはアンドロイドバージョンに基づいて、正しい描画可能を参照するように、私はXMLでボタンの背景を設定するにはどうすればよい?android:attr/selectableItemBackground

のために?

答えて

0

は、なぜあなたはのImageButtonを使用してみませんか?アプリケーションのためのテーマを作成res/values-v21フォルダにstyles.xml内部

<style name="AppTheme" parent="AppTheme"> 
    <item name="android:buttonStyle">?android:attr/selectableItemBackground</item> 
</style> 

res/valuesフォルダ内のstyles.xmlインサイド

2

は、アプリケーションのためのテーマを作成

<style name="AppTheme" parent="AppTheme"> 
    <item name="android:buttonStyle">?android:attr/selectableItemBackgroundBorderless</item> 
</style> 

AndroidManifest.xmlにアプリケーションにテーマを適用します。

(...) 
<application 
    android:theme="@style/AppTheme"> 
(...) 
+0

ありがとうございました。このソリューションは機能しますが、スタイルを使用せずに同じことを実行できるかどうかは疑問です。私のためのより良い解決策は、もし私が何とか自分のドロウアブルにアンドロイドドロウアブルを包み込み、drawable、drawable-v21フォルダに入れて、ビューに直接バックグラウンドを設定することができれば? – Egis

+0

'res/drawable'と' res/drawable-v21'に同じ名前のDrawableを宣言し、Buttonの 'android:background'をそのDrawableに向ける?それがあなたが意味するものなのかどうかは本当に分かりません。 –

+0

はい、私はdrawableに 'android:attr/selectableItemBackground'を使用します。それ、どうやったら出来るの?どのようなタイプのドロアブルが必要ですか?それも可能ですか? – Egis

関連する問題