2017-07-09 11 views
0

私の問題は、私は2スタイル、各アクティビティの一つのスタイルと、それは(colorPrimaryとcolorPrimaryDark)別のコースのと子供のを持っている、これは2です私は問題があると私は本当に多くのことを検索し、大きな時間を無駄にし、androidのdrawable.xmlでさまざまなスタイルのソリッドプロパティの異なる色を設定する方法は?

スタイル:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="adapter_button_color">@color/secondary_orange</item> 
</style> 

<style name="AppTheme.SurveyStyle" parent="AppTheme"> 
    <item name="colorPrimary">@color/colorPrimary2</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark2</item> 
    <item name="colorAccent">@color/colorAccent2</item> 

    <item name="adapter_button_color">@color/button_click</item> 
</style> 

、と私はボタン

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_pressed="true" android:drawable="@drawable/raised_pressed"/><!-- pressed --> 
    <item android:drawable="@drawable/raised_normal" /> <!-- default --> 

の背景として使用してraised_selector描画可能な名前を持っています

例えばraised_normalのコード:

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="@color/colorPrimary" /> 

<stroke 
    android:width="3dp" 
    android:color="@color/colorPrimary" /> 

<padding 
    android:bottom="1dp" 
    android:left="1dp" 
    android:right="1dp" 
    android:top="1dp" /> 

<corners 
    android:bottomLeftRadius="3dp" 
    android:bottomRightRadius="3dp" 
    android:topLeftRadius="3dp" 
    android:topRightRadius="3dp" /> 

私はそのよう<solid android:color="@color/colorPrimary" />を設定する際に、様々なスタイルに、ボタンの色が同じになるので、私が代わりに <solid android:color="?attr/colorPrimary" />を書く場合、私は検索していますスタイルのprimerycolorを取得します。

今は大丈夫です! (?attr/colorPrimary)を使用しているすべての思考作業はOKですが、v-21以上で、最小のsdksであれば、アプリケーションは "@ color/colorPrimary"の代わりに(?attr/colorPrimary)を設定するとクラッシュします。

私はこのようにして色をスタイルに応じて設定できますか? お時間をありがとうと感謝の古い電話:(におけるこの問題の解決策はありません

+0

すべてのボディは私を助けることができる、非常に感謝してます – Mosa

答えて

0

これは意味を読み取るための

関連する問題