您的位置:首页 > 移动开发 > Android开发

Android中Button设置drawablePadding没效果和设置selector后按下时没效果

2015-08-11 14:27 656 查看
第一个问题:



drawablePaddingdrawableLeft同时设置,但是UI上没有任何的效果:

Button XML如下:

<Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/rc_switch"
            android:background="@drawable/btn_bg"
            android:drawablePadding="12dp"
            android:text="@string/rc_disconnect"
            android:textSize="12sp"
            />


效果:





很诡异的问题,后来stackoverflow找到说是因为button太大了,设置就不起作用,如果button比较小,设置才会起作用。验证居然也真是这样。

那么解决方式就是在Button外面包一层:

<LinearLayout
        android:id="@+id/rc_disconnect"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/btn_bg"
        android:gravity="center"
        android:layout_gravity="center"
        android:focusable="true"
        android:clickable="true" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:focusable="false"
            android:clickable="false"
            android:background="@android:color/transparent"
            android:drawableLeft="@drawable/rc_switch"
            android:drawablePadding="12dp"
            android:text="@string/rc_disconnect"
            android:textSize="12sp" />
    </LinearLayout>


改后的效果:



第二个问题:设置了selector,按下后却没任何效果:

xml如下:






这里的顺序还是有讲究的,有包含的关系。把最小的写在上面。

修改为如下便可以了:






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: