一、TextView

基本属性

id:设置唯一标识  例:android:id="@+id/tv_one"
gravity:设置文本显示效果; 例:center_vertical(水平居中)
textColor:文本颜色;例:android:textColor="@color/black"
textSize:字体大小,通常使用 15sp,以sp和位置控制的dp区分;例:android:textSize="30sp"
layout_width,layout_height:控件的长度宽度属性;例子:android:layout_width="match_parent" 和 android:layout_height="200dp"
//设置阴影显示
shadowColor:阴影颜色;例:android:shadowColor="@color/red" 或者 android:shadowColor="#FFFF0000"
shadowRadius:必须和 shadowColor 搭配使用,缺一不可;例:android:shadowRadius="3.0"
shadowDx,shadowDy:显示的偏移区域; 例:android:shadowDx="10.0" 和 android:shadowDy="10.0"

//跑马灯效果

文字长度过大时,使用跑马灯效果展示
singleLine:单行显示
ellipsize:省略号显示位置
marqueeRepeatLimit
focusableInTouchMode:设置焦点

代码如下:(requestFocus启动获取焦点)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <!--设置id和文本位置  设置阴影显示 设置显示及位置信息 设置跑马灯效果-->
    <!--跑马灯显示
        方法1:android:focusable="true"
        方法2:实现继承TextView,
        方法3:使用requestFocus设置焦点
    -->
    <TextView
        android:id="@+id/tv_one"
        android:gravity="center_vertical"

        android:shadowColor="@color/red"
        android:shadowDx="10.0"
        android:shadowDy="10.0"
        android:shadowRadius="3.0"

        android:text="@string/tv_one"
        android:textColor="@color/black"
        android:textSize="30sp"
        android:layout_width="match_parent"
        android:layout_height="200dp"

        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:focusableInTouchMode="true">
        <requestFocus/>
    </TextView>
</LinearLayout>

  代码如下:(继承TextView,进行方法的重写,在页面中的 TextView替换成 所声明继承的TextView控件 

package com.example.application;
import android.content.Context;
import android.util.AttributeSet;
import androidx.annotation.Nullable;

public class MyTextView extends androidx.appcompat.widget.AppCompatTextView {

    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;
    }
}

  



posted @ 2022-03-14 14:17  搬砖工具人  阅读(89)  评论(0编辑  收藏  举报