簡體   English   中英

如何在Android中更改默認按鈕樣式?

[英]How to change default button style in Android?

我想更改Button的樣式。 然后在style.xml添加樣式,然后將@style/BaseButton為每個Button
有什么辦法可以做得更好? 我可以設置主題來更改所有Button或其他視圖嗎?
我知道我可以將主題添加到style.xml但是不幸的是,如果我將@android:background類的屬性設置為Button ,那么也會設置其他視圖的背景。

所以這是我需要的:

  • 僅在一個(或某些)位置設置樣式。 無需在每個布局和每個<Button />設置樣式。
  • 只有“ Button會受到影響,而其他視圖則保持不變。
  • 可以輕松更改。

用這個

<style name="ApplicationStyle" parent="android:Theme">
  <item name="android:buttonStyle">@style/CKButton</item>
</style>

鏈接自: 如何將樣式應用於Android應用程序的所有按鈕

遵循以下步驟

  1. 創建一個表示按鈕狀態的XML文件

      <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:drawable="@drawable/button_disabled" /> <item android:state_pressed="true" android:state_enabled="true" android:drawable="@drawable/button_pressed" /> <item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/button_focused" /> <item android:state_enabled="true" android:drawable="@drawable/button_enabled" /> </selector> 
  2. 創建一個表示每個按鈕狀態的XML文件

    第一個按鈕形狀用於啟用的按鈕狀態。

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#00CCFF" android:centerColor="#0000CC" android:endColor="#00CCFF" android:angle="90"/> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <stroke android:width="2dip" android:color="#FFFFFF" /> <corners android:radius= "8dp" /> </shape> 

    第二個按鈕形狀用於聚焦按鈕狀態。

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#F7D358" android:centerColor="#DF7401" android:endColor="#F7D358" android:angle="90"/> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <stroke android:width="2dip" android:color="#FFFFFF" /> <corners android:radius= "8dp" /> </shape> 

    第三按鈕形狀用於按下的按鈕狀態。

      <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#0000CC" android:centerColor="#00CCFF" android:endColor="#0000CC" android:angle="90"/> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <stroke android:width="2dip" android:color="#FFFFFF" /> <corners android:radius= "8dp" /> </shape> 

    最后,第四按鈕形狀用於禁用按鈕狀態。

      <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#F2F2F2" android:centerColor="#A4A4A4" android:endColor="#F2F2F2" android:angle="90"/> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <stroke android:width="2dip" android:color="#FFFFFF" /> <corners android:radius= "8dp" /> </shape> 
  3. 創建一個表示按鈕樣式的XML文件

     <resources> <style name="button" parent="@android:style/Widget.Button"> <item name="android:gravity">center_vertical|center_horizontal</item> <item name="android:textColor">#FFFFFFFF</item> <item name="android:shadowColor">#FF000000</item> <item name="android:shadowDx">0</item> <item name="android:shadowDy">-1</item> <item name="android:shadowRadius">0.2</item> <item name="android:textSize">16dip</item> <item name="android:textStyle">bold</item> <item name="android:background">@drawable/button</item> <item name="android:focusable">true</item> <item name="android:clickable">true</item> </style> 

  4. 使用您自己的自定義應用程序主題創建XML。 下面的themes.xml

     <resources> <style name="YourApplicationTheme" parent="android:style/Theme.NoTitleBar"> <item name="android:buttonStyle">@style/button</item> </style> </resources> 

現在,您可以使用新樣式在應用程序上創建按鈕

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM