我是靠谱客的博主 心灵美铃铛,最近开发中收集的这篇文章主要介绍TextView---自定义样式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

有时候需要自定义一个按钮,用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---自定义样式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部