採用 Material Design 設計的按鈕

程式相容性支援庫定義了幾個有用的樣式按鈕 ,每個延伸是,如果你使用的是 AppCompat 主題預設應用到所有按鈕的基礎 Widget.AppCompat.Button 風格。此樣式有助於確保預設情況下所有按鈕在 Material Design 規範後看起來都相同。

在這種情況下,強調色是粉紅色。

  1. 簡單按鈕:@style/Widget.AppCompat.Button

    簡單的按鈕影象

    <Button
        style="@style/Widget.AppCompat.Button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="16dp" 
        android:text="@string/simple_button"/>
    
  2. 彩色按鈕:@style/Widget.AppCompat.Button.Colored
    Widget.AppCompat.Button.Colored 風格擴充套件了 Widget.AppCompat.Button 風格,並自動應用你在應用主題中選擇的強調色

    彩色的按鈕影象

    <Button
        style="@style/Widget.AppCompat.Button.Colored"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="16dp" 
        android:text="@string/colored_button"/>
    

    如果要在不更改主題中的重音顏色的情況下自定義背景顏色,可以為 Button 建立自定義主題 (擴充套件 ThemeOverlay 主題)並將其指定給按鈕的 android:theme 屬性:

    <Button  
         style="@style/Widget.AppCompat.Button.Colored"  
         android:layout_width="wrap_content"  
         android:layout_height="wrap_content" 
         android:layout_margin="16dp"
         android:theme="@style/MyButtonTheme"/> 
    

    res/values/themes.xml 中定義主題:

     <style name="MyButtonTheme" parent="ThemeOverlay.AppCompat.Light"> 
          <item name="colorAccent">@color/my_color</item> 
     </style>
    
  3. 無邊框按鈕:@style/Widget.AppCompat.Button.Borderless

    無邊框按鈕影象

    <Button
        style="@style/Widget.AppCompat.Button.Borderless"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="16dp" 
        android:text="@string/borderless_button"/>
    
  4. 無邊框彩色按鈕:@style/Widget.AppCompat.Button.Borderless.Colored

    無邊框的彩色按鈕影象

    <Button
        style="@style/Widget.AppCompat.Button.Borderless.Colored"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="16dp" 
        android:text="@string/borderless_colored_button"/>