Ken*_* So 5 layout android button material-design
参考Material Design上的Android文档,我经常发现我们被引导将按钮的“触摸目标”设置为高度为48dp(https://www.google.com/design/spec/components /buttons.html#buttons-style)。但这是每个Button元素的默认值,还是我必须显式设置它以及如何设置?
如果您对默认材质按钮感到满意,请使用它。对于大多数事情来说都是没问题的。Button 的材质主题定义为:
<!-- Bordered ink button -->
<style name="Widget.Material.Button">
<item name="background">@drawable/btn_default_material</item>
<item name="textAppearance">?attr/textAppearanceButton</item>
<item name="minHeight">48dip</item>
<item name="minWidth">88dip</item>
<item name="stateListAnimator">@anim/button_state_list_anim_material</item>
<item name="focusable">true</item>
<item name="clickable">true</item>
<item name="gravity">center_vertical|center_horizontal</item>
</style>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,minHeight 属性设置为 48dp,这意味着该按钮的高度至少为 48dp。不好的是按钮的背景有插图,这意味着额外的触摸区域是通过按钮周围有一些透明像素来实现的。它使得按钮很难正确布局,如下面的帖子所示:
这种小部件设计确实限制了布局构建选项。该指南将触摸目标描述为应该影响小部件的外部附加触摸区域。应该这样做:
看:
https://developer.android.com/reference/android/view/TouchDelegate.html
https://developer.android.com/reference/android/view/View.html#getHitRect(android.graphics.Rect)
| 归档时间: |
|
| 查看次数: |
3648 次 |
| 最近记录: |