文本框控件, 以下爲常用的幾個場景
特別聲明
該筆記是筆者通過學習 天哥在奔跑安卓教學視頻 時所編寫的
文字大小,顏色
<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);
}