Changing button style in the whole application

后端 未结 2 1420
天涯浪人
天涯浪人 2021-01-04 19:17

I\'m trying to change all the TextColor of my buttons in my app to white and also trying to make it bold. But that isn\'t happening, I\'m overwriting the android:Widge

相关标签:
2条回答
  • 2021-01-04 19:52

    This will change the default button style for the entire app, include alert dialog button. Adjust the style based on yours.

    res/values/styles.xml

    <resources>
    
        <!-- Your base application theme. -->
        <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <!-- Other styles -->
            <item name="buttonStyle">@style/MyCustomButton</item>
        </style>
    
        <style name="MyCustomButton" parent="Widget.AppCompat.Button">
            <item name="android:background">@drawable/selector_button</item>
            <item name="android:textColor">@color/buttonText</item>
            <item name="android:textStyle">bold</item>
            <item name="android:paddingLeft">16dp</item>
            <item name="android:paddingRight">16dp</item>
        </style>
    </resources>
    

    res/drawable/selector_button.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/button_selected" android:state_pressed="true"/>
        <item android:drawable="@drawable/button_selected" android:state_focused="true"/>
        <item android:drawable="@drawable/button_unselected"/>
    </selector>
    

    res/drawable/button_selected.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <corners android:radius="1000dp"/>
    
        <solid android:color="@color/buttonSelected"/>
    </shape>
    

    res/drawable/button_unselected.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <corners android:radius="1000dp"/>
    
        <solid android:color="@color/buttonUnselected"/>
    </shape>
    
    0 讨论(0)
  • 2021-01-04 19:58

    For styling your Button you can use this:

    Go to the drawable folder and make an XML (e.g. button.xml) file called "style" which contains the following:

    <?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>
    

    This is my code, you can make the necessary changes you want

    Now call it in your layout XML (mainactivity.xml) like this

    android:background="@drawable/button.xml"
    

    Now to change the font color and style you can use the following which comes as part of the styles.xml in the values folder

    <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>
    

    Now call this in the layout XML (mainactivity.xml) like this

      style="@style/buttonStyle"
    

    The final code is:

    <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"
    />
    

    Hope this helps :)

    0 讨论(0)
提交回复
热议问题