1、带阴影的TextView
①、 android:shadowColor=“@color/black”
设置阴影颜色,需要与shadowRadius一起使用
②、android:shadowRadius=“3.0”
设置阴影模糊程度,设为0.1会变成字体颜色,建议设置3.0
③、android:shadowDx=“10”
设置阴影在水平方向的偏移,水平方向阴影开始的横坐标位置
④、android:shadowDy=“10”
设置阴影在竖直方向的偏移,竖直方向阴影开始的纵坐标位置
实例:
<androidx.appcompat.widget.AppCompatTextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"android:shadowRadius="3.0"android:shadowColor="@color/black"android:shadowDx="10"android:shadowDy="10"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" />
2、跑马灯效果的TextView
①、android:singleLine=“true”
内容当行显示
②、 android:focusable=“true”
是否可以获取焦点
③、android:focusableInTouchMode=“true”
控制视图在触摸模式下是否可以获取焦点
④、 android:ellipsize=“marquee”
在什么位置添加省略文本
⑤、android:marqueeRepeatLimit=“marquee_forever”
字幕动画重复次数
实现方式1:新建一个textview继承AppCompatTextView,重写isFocused() 方法
public class CustomTextView extends AppCompatTextView {public CustomTextView(@NonNull Context context) {super(context);}public CustomTextView(@NonNull Context context, @Nullable AttributeSet attrs) {super(context, attrs);}public CustomTextView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}@Overridepublic boolean isFocused() {return true;}
}
xml中使用自定义的view:
<com.lxd.xdplayer.CustomTextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World!"android:singleLine="true"android:focusable="true"android:focusableInTouchMode="true"android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/>
实现方式2:在xml布局文件的 AppCompatTextView中添加
<androidx.appcompat.widget.AppCompatTextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World!"android:singleLine="true"android:focusable="true"android:focusableInTouchMode="true"android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"><requestFocus/></androidx.appcompat.widget.AppCompatTextView>