Android 自定义Button样式后变扁
阿神
阿神 2017-04-17 11:58:12
0
3
383

效果如下 (第二个按钮)


所有的按钮均在一个带有android:stretchColumns="*"TableLayout的多个TableRow下。下帖代码。


main.xml

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/gray_bg"
    android:text="@string/calculator_multiply"
/>

gray_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <corners android:radius="5dp"/>
    <item android:drawable="@drawable/gray_default" android:state_pressed="false"></item>
    <item android:drawable="@drawable/gray_active" android:state_pressed="true"></item>
</selector>

gray_default.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <corners android:radius="5dp"/>
    <solid android:color="@color/gray_default"/>
</shape>

gray_active.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <corners android:radius="5dp"/>
    <solid android:color="@color/gray_active"/>
</shape>
阿神
阿神

闭关修行中......

全部回复(3)
左手右手慢动作

这跟你应用设置的 Theme 有关,如果是 android:Theme 或者 android:Theme.Black 就会出现这种情况

解决办法1: 将 Theme 改为 android:Theme.Holo 或者 android:Theme.Holo.Light

解决办法2: 给 Button 添加 android:minHeight="48dp" 属性

阿神

因为你自定义了button的样式,但是没有做到跟系统默认的button样式一样,但是又将默认的样式覆盖,你可以改变shape中的其它属性来做到跟之前一样,推荐一个Android按钮制作神器,所见即所得。

迷茫

本质原因是不同主题设置的padding不一样,那么最小的按钮高度/宽度就不同了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!