TextView


布局文件:
txt_rectborder.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 设置一个黑色边框 --> <stroke android:width="2px" android:color="#000000"/> <!-- 渐变 --> <gradient android:angle="135" android:endColor="#C0C0C0" android:startColor="#FCD209" /> <!-- 设置一下边距,让空间大一点 --> <padding android:left="5dp" android:top="5dp" android:right="5dp" android:bottom="5dp"/> </shape>
txt_radiuborder.xml
<?xml version="1.0" encoding="utf-8"?> <!--ShapeDrawable资源文件:--> <!--<solid android:color = “xxx”> 设置背景颜色--> <!--<stroke android:width = “xdp” android:color=”xxx”> 设置边框的粗细及颜色--> <!--<padding android:bottom = “xdp”…> 设置边距--> <!--<corners android:topLeftRadius=”10px”…> 设置圆角--> <!--<gradient> 设置渐变色,--> <!--可选属性有:startColor:起始颜色 endColor:结束颜色 centerColor:中间颜色--> <!--angle:方向角度,等于0时,从左到右,然后逆时针方向转,当angle = 90度时从下往上--> <!--type:设置渐变的类型--> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 设置透明背景色 --> <solid android:color="#87CEEB" /> <!-- 设置一个黑色边框 --> <stroke android:width="2px" android:color="#000000" /> <!-- 设置四个圆角的半径 --> <corners android:bottomLeftRadius="10px" android:bottomRightRadius="10px" android:topLeftRadius="10px" android:topRightRadius="10px" /> <!-- 设置一下边距,让空间大一点 --> <padding android:bottom="5dp" android:left="5dp" android:right="5dp" android:top="5dp" /> </shape>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" android:requiresFadingEdge="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.xiesir.example04textview.MainActivity" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="一、基本属性\n id\n layout_width / layout_height:wrap_content或者match_parent,也可设置成特定大小。\n gravity:设置控件中内容的对齐方向。\n text:设置显示的文本内容。\n textColor\n textStyle:设置字体风格:normal(无效果),bold(加粗),italic(斜体)\n textSize:字体大小,单位一般是sp!\n background:控件的背景颜色,可以是图片。" android:textStyle="bold|italic" android:background="#cfcfcf" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:shadowColor="#cfcf20" android:shadowDx="-10" android:shadowDy="-6" android:shadowRadius="10" android:text="二、带阴影的TextView\n shadowColor:设置阴影颜色\n shadowRadius:设置阴影的模糊程度\n shadowDx:设置阴影在水平方向的偏移\n shadowDy:设置阴影在竖直方向的偏移" android:textColor="#2020ff" android:textSize="18sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18sp" android:background="@drawable/txt_rectborder" android:text="三、带边框的TextView\n 自行编写ShapeDrawable的资源文件!然后将TextView的blackgroung设置为这个drawable资源即可!" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:textSize="18sp" android:background="@drawable/txt_radiuborder" android:text="ShapeDrawable资源文件说明(略)" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableTop="@drawable/mn" android:drawablePadding="2dp" android:text="四、带图片(drawableXxx)的TextView\n drawableXxx: 设置四个方向的图片,\n drawablePadding: 设置图片与文字间的间距!" /> <!--跑马灯一旦滚动到屏幕外,就不再支持跑马灯效果了--> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="五、跑马灯效果的TextView" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="18sp" android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:focusable="true" android:focusableInTouchMode="true" android:text="两男生同时向一女生表白,女生淡定道:“你们周游世界后再跟我说。”一男生立马收拾包裹准备出发,另一男生绕女生转了一圈,说出历史性的一句:“you are all my world.”女生心如鹿撞、脸泛红晕 ... ... ——最后的最后,她决定选择两个男生中比较有钱的那位。" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textScaleX="0.8" android:lineSpacingExtra="2dp" android:maxLines="8" android:text="六、TextView字间距和行间距\n 字间距:textScaleX,setScaleX()\n 行间距:lineSpacingExtra:行间距,lineSpacingMultiplier:行间距的倍数,setLineSpacing()\n 自动换行:singleLine\n 设置多行:maxLines" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="七、带超链的TextView\n autoLink属性,setAutoLinkMask(Linkify.ALL),setMovementMethod()\n 主页:http://pcideas.cnblogs.com/, phone: 13851685168" android:autoLink="all" /> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="八、TextView中设置多种字体大小" /> <TextView android:id="@+id/tvHTML" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="九、HTML格式的TextView\n(略)" /> </LinearLayout> </ScrollView>
MainActivity.java
package com.xiesir.example04textview; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Html; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.method.LinkMovementMethod; import android.text.style.AbsoluteSizeSpan; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String text = "八、TextView中设置多种字体大小:您已经连续走了5168步"; int start = text.indexOf('5'); int end = text.length(); Spannable textSpan = new SpannableStringBuilder(text); textSpan.setSpan(new AbsoluteSizeSpan(38), 0, start, Spannable.SPAN_INCLUSIVE_INCLUSIVE); textSpan.setSpan(new AbsoluteSizeSpan(58), start, end - 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE); textSpan.setSpan(new AbsoluteSizeSpan(38), end - 1, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE); TextView textView = (TextView) findViewById(R.id.tv); textView.setText(textSpan); TextView tvhtml = (TextView)findViewById(R.id.tvHTML); String s1 = "九、HTML格式的TextView: <br/>"; s1 += "<a href = 'https://www.bing.com/'>当你走进我的心里,你会落泪,因为那里都是你给的伤悲;</a><br/>"; s1 += "<font color='blue'><b>当我走进你的心里,我会落泪,因为里面都是你的无所谓。</b></font>"; tvhtml.setText(Html.fromHtml(s1)); tvhtml.setMovementMethod(LinkMovementMethod.getInstance()); } }
参考:
http://blog.csdn.net/coder_pig/article/details/46997821
http://www.codexiu.cn/android/blog/13693/
https://souly.cn/%E6%8A%80%E6%9C%AF%E5%8D%9A%E6%96%87/2016/01/29/TextView%E8%B6%85%E9%93%BE%E6%8E%A5%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F%E6%80%BB%E7%BB%93/
浙公网安备 33010602011771号