安卓开发学习笔记02_TextView

安卓开发学习笔记02_TextView

  • 特别声明
  • 文字大小,颜色
  • 显示不下使用
  • 文字+icon
  • 中划线,下划线
  • 跑马灯

文本框控件, 以下为常用的几个场景

特别声明

该笔记是笔者通过学习 天哥在奔跑安卓教学视频 时所编写的

文字大小,颜色

<TextView
        android:id="@+id/tv_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="你好啊啊啊"
        android:textColor="#000"
        android:textSize="24sp"/>

显示不下使用

<TextView
        android:id="@+id/tv_2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:ellipsize="end"
        android:text="你好啊啊啊"
        android:textColor="#000"
        android:textSize="24sp"
        android:layout_marginTop="10dp"/>

文字+icon

首先在 drawable 文件夹下,放入一个图标,通过 android:drawableRight 属性来将图标放到文字右边

<TextView
        android:id="@+id/tv_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="用户"
        android:textColor="#000"
        android:drawableRight="@drawable/about"
        android:drawablePadding="5dp"
        android:textSize="24sp"
        android:layout_marginTop="10dp"/>

中划线,下划线

该功能需要使用编写java代码来实现
在当前页面的 avtivity.xml 中编写

<TextView
    android:id="@+id/tv_4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="你好啊啊啊"
    android:textColor="#000"
    android:layout_marginTop="10dp"
    android:textSize="24sp"/>

<TextView
    android:id="@+id/tv_5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="你好啊啊啊"
    android:textColor="#000"
    android:layout_marginTop="10dp"
    android:textSize="24sp"/>

<TextView
    android:id="@+id/tv_6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=""
    android:textColor="#000"
    android:layout_marginTop="10dp"
    android:textSize="24sp"/>

在对应的java类中编写
主要工作就是通过 id 获取组件实例,再给它添加中划线跟下划线

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Paint;
import android.os.Bundle;
import android.text.Html;
import android.widget.TextView;

public class TextViewActivity extends AppCompatActivity {

    private TextView mTv4;
    private TextView mTv5;
    private TextView mtv6;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_text_view);
        mTv4 = findViewById(R.id.tv_4);
        mTv4.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
        mTv4.getPaint().setAntiAlias(true);

        mTv5 = findViewById(R.id.tv_5);
        mTv5.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线

        mtv6 = findViewById(R.id.tv_6);
        mtv6.setText(Html.fromHtml("html版本")); // 使用html来添加下划线
    }
}

跑马灯

主要属性:

  1. android:singleLine=“true” 单行显示
  2. android:ellipsize=“marquee” 切割,给个省略号
  3. android:marqueeRepeatLimit=“marquee_forever” 循环次数
  4. android:focusable=“true” 表示 移动光标时 是否能聚焦到组件上,比如按钮,就是移动光标是按钮会变成选中状态,如果focusable为false,那么就跳过此 组件,下一个组件变成选中状态
  5. android:focusableInTouchMode=“true” 可以通过触摸获取焦点
<TextView
        android:id="@+id/tv_7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="你好啊啊啊你好啊啊啊你好啊啊啊你好啊啊啊你好啊啊啊"
        android:textColor="#000"
        android:layout_marginTop="10dp"
        android:textSize="24sp"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:focusable="true"
        android:focusableInTouchMode="true"/>

在java类中,获取该组件实例,设置 setSelected 为true

private TextView mtv7;

@Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_text_view);
       mtv7 = findViewById(R.id.tv_7);
       mtv7.setSelected(true);
   }

你可能感兴趣的:(安卓开发)