1.TextView基础属性
(1)宽高
layout_width(宽)和 layout_height(高)
单位:dp
wrap_content :表示和自身内容一样的长度
match_parent:表示和父组件一样的长度
(2)id
该TextView的id,一种标识
(3)text相关属性
text 文字内容
textSize 字体大小
textColor 字体颜色
testStyle 字体样式:normal(无样式 ) bola(加粗) italic(斜体)
background 控件填充的背景色或背景图
(4)gravity
控件内容的对齐方向,TextView内是文字对齐方向,ImageView内是图片对齐方向
left 、right 、top 、bottom四个值
2.带阴影的textView
android:shadowColor: 设置阴影颜色,与shadowRudius一起使用
android:shadowRudius:设置阴影模糊程度,设为0.1时变为字体颜色,一般设为3.0
android:shadowPx:设置阴影在水平方向上的开始x位置,例如;10.0
android:shadowPy:设置阴影在竖直方向上的开始y位置
3.走马灯效果的TextView
android: sigleLine 内容是否单行显示(true或者false)
android: ellipsize="marquee" 在哪里可以省略文本(此处选走马灯效果marquee)
andsroid:marqueeRepeatLimit 字幕动画重复次数
android:focusable 是否可以获取焦点(true或者false)
android:focusableInTouchMode:用于控制触摸模式下是否聚焦(true或者false)
设置好上面几种属性后,让走马灯有效果
方法一:先创建MyTextView类继承于TextView,创建isFocused方法,返回一个true值
package com.example.uitestapp; import android.content.Context; import android.util.AttributeSet; import android.widget.TextView; import androidx.annotation.Nullable; public class MyTextView extends TextView { public MyTestView(Context context) { super(context); } public MyTestView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public MyTestView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public boolean isFocused() { return true; } }
将acticity_main.xml文件的TextView改为MyTextView(带包名)
<com.example.uitestapp.MyTextView android:id="@+id/tv_01" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/word" android:textColor="@color/black" android:textSize="30sp" android:shadowColor="#ffff0000" android:shadowRadius="3.0" android:shadowDx="10.0" android:shadowDy="10.0" android:textStyle="italic" android:gravity="center" android:singleLine="true" android:marqueeRepeatLimit="marquee_forever" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" >
方法二:设置可点击属性:
android:clickable="true"
方法三:设置requesrFocus
<TextView android:id="@+id/tv_01" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/word" android:textColor="@color/black" android:textSize="30sp" android:shadowColor="#ffff0000" android:shadowRadius="3.0" android:shadowDx="10.0" android:shadowDy="10.0" android:textStyle="italic" android:gravity="center" android:singleLine="true" android:marqueeRepeatLimit="marquee_forever" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" > <requestFocus/> </TextView>