文本框控件, 以下为常用的几个场景
特别声明
该笔记是笔者通过学习 天哥在奔跑安卓教学视频 时所编写的
文字大小,颜色
<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("<u>html版本</u>")); // 使用html来添加下划线
}
}
跑马灯
主要属性:
- android:singleLine=“true” 单行显示
- android:ellipsize=“marquee” 切割,给个省略号
- android:marqueeRepeatLimit=“marquee_forever” 循环次数
- android:focusable=“true” 表示 移动光标时 是否能聚焦到组件上,比如按钮,就是移动光标是按钮会变成选中状态,如果focusable为false,那么就跳过此 组件,下一个组件变成选中状态
- 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);
}