TextView使用大全-阿里云开发者社区

开发者社区> ansen_666> 正文

TextView使用大全

简介:
+关注继续查看

最近打算写一个系列的android初级开发教程,预计40篇以上的文章,结合我实际工作中的经验,写一些工作中经常用到的技术,让初学者可以少走弯路,写一个系列的话,大家学习起来也有头有尾。

今天就从我们每天都会用到的TextView讲起.

1.设置背景颜色

1
2
3
4
5
6
<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="#FF00FF" 
    android:layout_marginTop="10dp" 
    android:text="设置背景颜色" />

2.如何在程序里面动态赋值 这里可以直接是字符串,也可以是字符串资源id

1
2
TextView tv0=(TextView) findViewById(R.id.tv0); 
 tv0.setText("如何在程序里面动态赋值");

3.实现多字符串的动态处理
1).在strings.xml文件中写上字符串

 <string name="testing">这是一个数:%1$d, 这是两位数:%2$d,这是三位数:%3$s</string> 

2).在java代码中设置值

1
tv1.setText(getString(R.string.testing, new Integer[]{11,21,31}));

 

4.TextVie显示html 字体颜色为红色 需要注意不支持html标签的style属性

1
2
String html="<font color ='red'>TextVie显示html 字体颜色为红色</font><br/>"
tv3.setText(Html.fromHtml(html));

  

5.给TextView设置点击事件,这个事件是父类View的,所以所有的android控件都有这个事件,我这边为了方便就采用了内部类的方式

1
2
3
4
5
6
tv4.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
        Toast.makeText(MainActivity.this"点击了TextView4", Toast.LENGTH_LONG).show(); 
    
});

  

6.给TextView文字加粗,并且设置阴影效果
字体阴影需要四个相关参数:
1). android:shadowColor:阴影的颜色
2). android:shadowDx:水平方向上的偏移量
3). android:shadowDy:垂直方向上的偏移量
4). android:shadowRadius:是阴影的的半径大少

1
2
3
4
5
6
7
8
9
10
11
12
<TextView 
    android:id="@+id/tv5" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="10dp" 
    android:textStyle="bold" 
 
    android:shadowColor="#ff000000" 
    android:shadowDx="10" 
    android:shadowDy="10" 
    android:shadowRadius="1" 
    android:text="文字阴影,文字加粗" />

  

7.文字加图片显示
drawableBottom是在文本框内文本的底端绘制指定图像
drawableLeft是在文本框内文本的左边绘制指定图像
drawableRight是在文本框内文本的右边绘制指定图像
drawableTop是在文本框内文本的顶端绘制指定图像
drawablePadding设置文本框内文本与图像之间的间距

1
2
3
4
5
6
7
8
9
<TextView 
    android:id="@+id/tv6" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="10dp" 
    android:drawableLeft="@drawable/ic_launcher" 
    android:drawablePadding="10dp" 
    android:gravity="center_vertical" 
    android:text="文字+图片" />

  

8.TextView的样式类Span的使用详解

1
2
3
4
5
6
//      1. TextView的样式类Span的使用详解 
        SpannableString spannableString = new SpannableString("TextView的样式类Span的使用详解") ; 
        BackgroundColorSpan backgroundColorSpan = new BackgroundColorSpan(Color.RED); 
        //0到10的字符设置红色背景 
        spannableString.setSpan(backgroundColorSpan, 010, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) ; 
        tv7.setText(spannableString);

  

9.TextView设置点击事件Spannable
注意:在使用ClickableSpan的时候,在单击链接时凡是有要执行的动作,都必须设置MovementMethod对象。

1
2
3
4
5
6
7
8
9
10
SpannableString spannableClickString = new SpannableString("TextView设置点击事件Span") ; 
ClickableSpan clickableSpan = new ClickableSpan() { 
    @Override 
    public void onClick(View widget) { 
            Toast.makeText(MainActivity.this,"TextView设置点击事件Span", Toast.LENGTH_LONG).show(); 
    
}; 
spannableClickString.setSpan(clickableSpan,11,15, Spannable.SPAN_EXCLUSIVE_INCLUSIVE) ; 
tv8.setMovementMethod(LinkMovementMethod.getInstance()); 
tv8.setText(spannableClickString);

  

10.TextView设置点击背景
1).新建一个selector_textview.xml文件,放到drawable目录下

1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    <item android:drawable="@color/textview_click_background"  android:state_focused="true"/> 
    <item android:drawable="@color/textview_click_background" android:state_pressed="true"/> 
    <item android:drawable="@color/textview_default"/> 
</selector>

  

2).在TextView的xml布局中设置背景

1
android:background="@drawable/selector_textview"

  

3).设置点击事件

1
2
3
4
5
6
7
//必须要给TextView加上点击事件点击之后才能改变背景颜色 
      findViewById(R.id.tv9).setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
        Toast.makeText(MainActivity.this,"点击了TextView9", Toast.LENGTH_LONG).show(); 
    
});

  

11.TextView设置上下左右边框

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >   
    <!-- This is the main color -->   
    <item>   
        <shape>   
                <!--    边框颜色 -->   
            <solid android:color="#00FF00"/>   
        </shape>   
    </item>   
    <!-- 给View的上 左  右设置8dp的边框 -->   
    <item android:top="8dp" android:left="8dp" android:right="8dp" >   
        <shape>   
                <!--     View填充颜色 -->   
            <solid android:color="#FFFFFF" />   
        </shape>   
    </item>   
</layer-list>

  

12.TextView设置圆角跟边框

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
<!--     默认背景色 --> 
    <solid android:color="#FF00FF"/> 
        <!-- 边框 -->   
    <stroke   
        android:width="1dp"   
        android:color="@android:color/black" />   
<!--     设置弧度 --> 
    <corners 
        android:radius="20dp"/> 
</shape>

  

最后效果图如下:

源码下载

还有个人建议如果TextView能显示的就不要用Botton,TextView使用更灵活方便。

延伸阅读:

Android TextView加上阴影效果
Android TextView高级特性使用
TextView属性大全
Android之TextView的样式类Span的使用详解

以上就是我整理的TextView常用的知识,暂时想到的也就这么多,以后想到再来补充。。。大家有什么问题也可以留言。。。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
@JsonView的使用,entity中指定向前台返回哪些字段
使用步骤: 1.使用接口来声明多个视图      2.在值对象的get方法上指定视图   3.在Controller方法上指定视图
616 0
Android Studio 使用ViewPager + Fragment实现滑动菜单Tab效果 --简易版
描述:         之前有做过一个记账本APP,拿来练手的,做的很简单,是用Eclipse开发的;         最近想把这个APP重新完善一下,添加了一些新的功能,并选用Android Studio来开发;         APP已经完善了一部分,现在就想把已经做好的功能整理一下,记录下来。
2450 0
使用Keras进行深度学习:(三)使用text-CNN处理自然语言(上)
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习、深度学习的知识! 上一篇文章中一直围绕着CNN处理图像数据进行讲解,而CNN除了处理图像数据之外,还适用于文本分类。
1404 0
JSP---JSP中4个容器-pageContext使用
这里重点只讲pageContext容器的用法哦。 因为另外的3个容器(request,session,application)在前面的servlet中已经演示过很多遍了 容器 作用域 pageContex 仅仅是当前页面,无法传参 request 当前页面,可以传参 session 同一个JSESSIONID共用一个 application 只要服务器还没重新启动,就一直存在 详细介绍: pageContext – 它的作用范围仅为当前JSP页面。
722 0
ViewPager的使用
ViewPager的使用 效果图 布局 初始化及事件监听 // ViewPager ViewPager mViewPager = (ViewPager) view.
559 0
如何在ui5 xml view中使用嵌入的自定义css style
Created by Jerry Wang, last modified on Sep 09, 2015
9 0
+关注
ansen_666
有三年android开发经验,开发过加密.短视频.直播app,一直在互联网公司工作,目前就职于上海翼成科技,担任android开发组长。
62
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载