首页 > 代码库 > Button的单击变色+button上面图片下边文字+圆角
Button的单击变色+button上面图片下边文字+圆角
简单来说就是自定义一个drawable。
有两种情况。
第一种:
单击时变色,不单击则原色:(pressed是单击,focused是获取焦点,根据需要更改)
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/arr_down_gray" android:state_pressed="false"/><item android:drawable="@drawable/arr_down_gray_click" android:state_pressed="true"/><item android:drawable="@drawable/arr_down_gray_click" android:state_focused="true"/></selector>
@drawable时可以是圆角的文件:
圆角也是在drawable放置
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:bottomLeftRadius="5dp" android:topLeftRadius="5dp"/> <stroke android:color="#1E4A71" android:width="1dp"/> <solid android:color="#17293C"/></shape>
第二种:
选择则改变,不选择则默认:
如:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/nav_waybill" android:state_checked="false"/> <item android:drawable="@drawable/nav_waybill_cur" android:state_checked="true"/></selector>
----------------------------------------------------------分割线---------------------------------------------------------------
对于button上面图片下边文字可以用以下方式:
<Button android:id="@+id/waybill_button" android:layout_width="0dp" android:layout_height="match_parent" android:button="@null" android:layout_weight="1" android:checked="true" android:drawableTop="@drawable/nav_waybill_bg" android:text="运单" android:textColor="@drawable/nav_text_color" android:gravity="center" android:background="#152D43" />
然后text的变色可以加下面的drawable:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="#fff" android:state_checked="false"/> <item android:color="#0397D8" android:state_checked="true"/></selector>
对于图片放置的问题,可以先从drawable-xxhdpi文件夹实现,然后开不同分辨率下的效果,有时不用准备一套图片就能实现。
图片如下:
Button的单击变色+button上面图片下边文字+圆角
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。