Android开发TextView篇

发布时间 2023-11-23 20:36:47作者: 月隐入秋

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>