2016-10-22 8 views
1

ダイアログ以外のすべてのボタンのスタイル:ヌガーまでうまく働いたが、変更(バグフィックス、私はそこをされているヌガーとAndroidのオーバーライド私はこのように私のアプリでは、デフォルトのボタンのスタイルをオーバーライドしてきた

<style name="ButtonStyle" parent="Base.Widget.AppCompat.Button"> 
     <item name="android:textAllCaps">false</item> 
     <item name="android:textSize">18sp</item> 
     <item name="android:textColor">@color/primaryTextContrast</item> 
     <item name="android:background">@drawable/button</item> 
    </style> 

このスタイルはダイアログのボタンにも適用されますが、以前のバージョンではそうではありませんでした)。これは、ダイアログのボタンに白い背景に白いテキストを付ける効果があります。

場合、それは関連性の高い、buttondrawable 9パッチであり、drawable-v21でオーバーライドされる:

<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
    android:color="?attr/colorControlHighlight"> 
    <item android:drawable="?attr/colorPrimary"/> 
</ripple> 

原色が暗く、そしてprimaryTextContrastが白です。ダイアログは何らかの理由でノーガットのダーク・ボタンを取得しません。テキスト・カラーを取得するように見えますが、背景は表示されません。だから私は、ダイアログボタンをデフォルトのものにするか、ボタンを暗い背景と白いテキストでスタイルを完全に継承させる必要があります。

+0

解決策は見つかりましたか?私は同じ問題に直面している – kirtan403

+0

いいえ、私はしていません。 – nasch

答えて

2

@nasch、ダイアログボタンはボタンバースタイルを使用します。このシナリオでは、あなたのメインのスタイル定義では

<style name="buttonBarButtonStyle" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog"> 
    <item name="android:textColor">@color/colorPrimary</item> 
</style> 

ような何かを行うことができ、あなたはその後、

<style name="MyCustomTheme" parent="Theme.AppCompat"> 
    <item name="buttonBarButtonStyle">@style/buttonBarButtonStyle</item> 
... 

を定義し、この情報がお役に立てば幸いです。

関連する問題