安卓 Button 设置宽高 wrap_content 属性无效的原因

如果 button 宽高设置 wrap_content 并设置了 background 为一个图片的时候,会出现 wrap_content 无效的情况,针对这个问题我们查看到 AppCompat 主题 Button 的默认 style 是"Base.Widget.AppCompat.Button"

<style name="Base.Widget.AppCompat.Button" parent="android:Widget">
        <item name="android:background">@drawable/abc_btn_default_mtrl_shape</item>
        <item name="android:textAppearance">?android:attr/textAppearanceButton</item>
        <item name="android:minHeight">48dip</item>
        <item name="android:minWidth">88dip</item>
        <item name="android:focusable">true</item>
        <item name="android:clickable">true</item>
        <item name="android:gravity">center_vertical|center_horizontal</item>
    </style>

可见默认值 android:minHeight = 48dip android:minWidth = 88dip

恍然大悟,在自己布局中设置 android:minHeight 和 android:minWidth 属性即可解决问题!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容