2017-10-22 12 views
0

私のアプリでは材料デザインのテーマを使用していますが、APIにはそれ以上の問題はありません。 しかしAPIでは< 21解決できない重要な問題があります。AppCompatのボタン:APIの背景は常に白です

APIについて< 21私はAppCompatテーマを使用してマテリアルテーマ効果を取得します。

とボタンの例を見てみましょう:その結果

<style name="AppBaseTheme" parent="Theme.AppCompat.Light"> 
     <item name="android:buttonStyle">@style/StandartButton</item> 
    </style> 

    <style name="StandartButton" parent="ThemeOverlay.AppCompat"> 
     <item name="colorButtonNormal">@color/blue</item>    
    </style> 

<ImageButton 
     android:id="@+id/buttonShare" 

     android:layout_width="match_parent" 
     android:layout_height="60dp" 

     android:layout_alignParentBottom="true" 

     android:src="@drawable/share"  
     android:theme="@style/StandartButton" 
     style="@style/Widget.AppCompat.Button.Colored" 
     /> 

そしてstyle.xmlファイル

enter image description here

私は追加しませんでしたstyles-v21が正しいスクリーンショットで表示されるde。

どのように古いAPIの問題を解決するにはどのようなアイデアですか?

+0

アドオン '<項目名= "アンドロイド:colorButtonNormal"> @カラー/ブルー' –

+0

アンドロイド:colorButtonNormalはAPIレベル21を必ず何を意味するのか理解できない、@IntelliJAmiya – tadvas

+0

(現在の分が16である)が必要です。 ImageButtonの代わりにButtonを使うべきですか?また、スタイルを使用しないでください、テーマのみ? – tadvas

答えて

0

スタイルで遊んでいる正しいソリューションが見つかりませんでした(たぶんAppCompatのバグです)、そのため回避策が見つかったのです。

layout-v21フォルダを追加するボタンは、素材テーマのスタイルを表します。 現在layoutフォルダにbackgroundと設定してください。

一時的な修正のみになる可能性があることに注意してください。