概述
有时候需要自定义一个按钮,用textview也可以实现
(1)创建一个供TextView使用的背景selector并且放到drawable文件夹下面
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<shape android:shape="rectangle">
<!-- 填充的颜色 -->
<solid android:color="@android:color/white"></solid>
<!-- android:radius 弧形的半径 -->
<corners android:radius="6px" />
<!-- 绘制边框-->
<stroke android:width="2px" android:color="#2c72ac" android:dashGap="0dp" />
</shape>
</item>
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="6px" />
<stroke android:width="2px" android:color="#3c99e5" android:dashGap="0dp" />
</shape>
</item>
</selector>
(2)创建一个供TextView使用的动态改变字体颜色的selector并且放到color文件夹(没有可以在res文件夹下新建color文件夹)下面:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/blue_3C99E5" android:state_focused="true"></item>
<item android:color="@color/blue_3C99E5" android:state_pressed="true"></item>
<item android:color="@color/blue_CCCCCC"></item>
</selector>
注意:item是从上往下匹配的,如果匹配到一个item那它就将采用这个item,所以设置默认的状态,一定要写在最后,如果写在前面,则后面所有的item都不会起作用
(3)在xml中调用:
<TextView
android:id="@+id/famousperson_listview_tv_like"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关注"
android:drawableLeft="@drawable/famousperson_add_like_drawableleft"
android:paddingTop="6dip"
android:paddingBottom="6dip"
android:paddingLeft="9dip"
android:paddingRight="9dip"
android:textSize="12sp"
android:textColor="@color/famousperson_tv_eachother_color"
android:background="@drawable/famousperson_button_bg_liked" />
(4)在代码中调用:
viewHolder.tv_like.setBackgroundResource(R.drawable.famousperson_button_bg_haslike);
viewHolder.tv_like.setCompoundDrawables(viewHolder.dw_addlike, null, null, null);
viewHolder.tv_like.setText("关注");
ColorStateList csl = context.getResources().getColorStateList(R.color.famousperson_tv_like_color);
viewHolder.tv_like.setTextColor(csl);
最后
以上就是心灵美铃铛为你收集整理的TextView---自定义样式的全部内容,希望文章能够帮你解决TextView---自定义样式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复