[关闭]
@act262 2017-08-09T11:48:05.000000Z 字数 1565 阅读 1088

Android Theme 按钮背景样式

theme


compat-v7下的样式

selectableItemBackground表现为方形的效果
selectableItemBackgroundBorderless 表现为圆形的效果,没有边界
actionBarItemBackgroundcontrolBackground表现为圆形的波纹效果

values目录下的样式

  1. <!-- Base.V7.Theme.AppCompat.Light -->
  2. <item name="selectableItemBackground">@drawable/abc_item_background_holo_light</item>
  3. <item name="selectableItemBackgroundBorderless">?attr/selectableItemBackground</item>
  4. ...
  5. <!-- Action Bar Styles -->
  6. <item name="actionBarItemBackground">?attr/selectableItemBackgroundBorderless</item>
  7. ...
  8. <item name="controlBackground">?attr/selectableItemBackgroundBorderless</item>
  1. <!-- Toolbar styles -->
  2. <item name="toolbarStyle">@style/Widget.AppCompat.Toolbar</item>
  3. <item name="toolbarNavigationButtonStyle">@style/Widget.AppCompat.Toolbar.Button.Navigation</item>

values-v21目录下的样式

  1. <style name="Base.V21.Theme.AppCompat" parent="Base.V7.Theme.AppCompat">
  2. <!-- General view attributes -->
  3. <item name="selectableItemBackground">?android:attr/selectableItemBackground</item>
  4. <item name="selectableItemBackgroundBorderless">?android:attr/selectableItemBackgroundBorderless</item>
  5. <item name="borderlessButtonStyle">?android:borderlessButtonStyle</item>
  6. </style>

API 21+ framework下的样式,对应的是Material的样式,比如Ripple的波纹效果

values目录下的theme_material.xml

  1. <style name="Theme.Material">
  2. ...
  3. <item name="selectableItemBackground">@drawable/item_background_material</item>
  4. <item name="selectableItemBackgroundBorderless">@drawable/item_background_borderless_material</item>
  5. <item name="borderlessButtonStyle">@style/Widget.Material.Button.Borderless</item>
  6. ...
  7. </style>

Ripple效果

http://blog.csdn.net/jdsjlzx/article/details/50848190

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注