Android-TextView

TextView的基础属性

  1. layout_width: 组件的宽度
  2. layout_height: 组件的高度
  3. id: 组件的id
  4. text: 设置文本显示的内容
  5. textColor: 设置字体颜色
  6. textStyle: 设置字体风格,normal[无效果]、bold[加粗]、italic[倾斜]
  7. textSize: 字体大小,单位一般用sp
  8. background: 控件的背景颜色,可以是图片
  9. gravity: 设置控件中内容的对齐方向

TextView阴影

  1. shadowColor: 设置阴影的颜色,需要与shadowRadius一起使用
  2. shadowRadius: 设置阴影的模糊程度,建议3.0
  3. shadowDx: 设置阴影在水平方向的偏移
  4. shadowDy: 设置阴影在垂直方向的偏移

跑马灯效果

  1. android:singleLine: 内容单行显示
  2. android:focusable: 是否可以获取焦点
  3. android:focusableInTouchMode: 用于控制视图在触摸模式下是否可以聚焦
  4. android:ellipsize: 在哪里省略文本
  5. android:marqueeRepeatLimit: 字母动画重复的次数

设置上面5个属性后,此时跑马灯依然不能运行,有两种运行的解决方案

方法一、自定义TextView

1.新建MyTextView类继承TextView类

2.继承3个MyTextView构造方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class MyTextView extends TextView {
public MyTextView(Context context) {
super(context);
}

public MyTextView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}

public MyTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}

@Override
public boolean isFocused() {
return true;
}
}

3.重写isFocused方法,使其返回true

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class MyTextView extends TextView {
public MyTextView(Context context) {
super(context);
}

public MyTextView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}

public MyTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}

@Override
public boolean isFocused() {
return true;
}
}

4.将xml布局文件中的TextView修改为com.a.Smartcity.MyTextView(全类名)

方法二、修改xml标签

1.将TextView单标签修改为双标签

2.在TextView中添加<requestFocus/>单标签