2016-05-15 329 views
0

美好的一天。通過更改按鈕樣式更改按鈕顏色

我試着改變按鈕的顏色,因爲我不希望它是重音顏色。因此,我試着改變按鈕樣式。下面是我的代碼:

<android.support.v7.widget.AppCompatButton 
    android:id="@+id/enterButton" 
    android:layout_width="200dp" 
    android:layout_height="48dp" 
    android:layout_marginTop="50dp" 
    android:layout_gravity="center" 
    android:text="@string/enter_button" 
    android:textSize="@dimen/sohere_font_small" 
    style="@style/NewButtonStyle" 
    android:enabled="true"/> 

    <style name="NewButtonStyle" parent="Widget.AppCompat.Button.Colored"> 
    <item name="colorButtonNormal">@drawable/selector_button_color</item> 
    <item name="android:textColor">@drawable/selector_button_text_color</item> 
    <item name="colorAccent">@color/primary_color</item> 
</style> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="true" 
     android:color="@color/primary_color" /> 
    <item 
     android:state_enabled="false" 
     android:color="@color/default_disabled_button_colour" /> 
</selector> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="true" 
     android:color="@color/white_color" /> 
    <item 
     android:state_enabled="false" 
     android:color="@color/default_hint_text_color" /> 
</selector> 

但是按鈕的顏色不會改變,直到我修改我的代碼:

<android.support.v7.widget.AppCompatButton 
    android:id="@+id/enterButton" 
    android:layout_width="200dp" 
    android:layout_height="48dp" 
    android:layout_marginTop="50dp" 
    android:layout_gravity="center" 
    android:text="@string/enter_button" 
    android:textSize="@dimen/sohere_font_small" 
    **android:theme="@style/NewButtonStyle"** 
    android:enabled="true"/> 

有什麼辦法,我可以通過設置按鈕樣式改變改變按鈕顏色主題?

請指教。

回答

0

對於您的樣式按鈕,您可以使用此:

轉到繪製文件夾,使XML(如button.xml)文件調用風格,包含以下內容:

<?xml version="1.0" encoding="utf-8"?> 

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

    <item> 
     <shape> 
      <gradient android:startColor="#449def" android:endColor="#2f6699" android:angle="270" /> 
      <stroke android:width="1px"   android:color="#000000" /> 
       <corners android:bottomLeftRadius="0dp" 
       android:bottomRightRadius="0dp" 
       android:topLeftRadius="8dp" 
       android:topRightRadius="8dp"/>  
       <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> 
     </shape> 
    </item> 

</selector> 

這是我的代碼,你可以讓你想

必要的改變現在這個樣子

android:background="@drawable/button.xml" 
調用它在佈局XML(mainactivity.xml)

我們改變字體顏色和樣式,你可以用它來作爲值文件夾中的styles.xml一部分的以下

<style name="buttonStyle" parent="@android:style/Widget.Button.Small"> 
    <item name="android:textColor">#FFFFFF</item> 
    <item name="android:textSize">12sp</item> 
    <item name="android:textStyle">bold</item> 
</style> 

現在把這塊的佈局XML(mainactivity.xml)這樣的

style="@style/buttonStyle" 

最後的代碼是:

<Button 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="15dp" 
android:text="@string/edit" 
android:id="@+id/btnEdit" 
android:background="@drawable/button.xml" 
style="@style/buttonStyle" 
/> 

希望這有助於:)