activity_text_check.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="5dp" >
<EditText
android:id="@+id/et_input"
style="@style/text_normal"
android:layout_margin="5dp"
android:background="@drawable/editext_selector"
android:hint="请输入文本"
android:inputType="text" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_empty"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="文本是否为空"
android:textColor="@color/black"
android:textSize="17sp" />
<Button
android:id="@+id/btn_trim_length"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="去掉头尾空格后的长度"
android:textColor="@color/black"
android:textSize="17sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_digit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="是否由数字组成"
android:textColor="@color/black"
android:textSize="17sp" />
<Button
android:id="@+id/btn_ellipsize"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="省略后的文本"
android:textColor="@color/black"
android:textSize="17sp" />
</LinearLayout>
<TextView
android:id="@+id/tv_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="left"
android:textColor="@color/black"
android:textSize="17sp" />
</LinearLayout>
MainActivity.java
package com.example.third;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText et_input; // 声明一个编辑框对象
private TextView tv_result; // 声明一个文本视图对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text_check);
// 从布局文件中获取名叫et_input的编辑框
et_input = findViewById(R.id.et_input);
// 从布局文件中获取名叫tv_result的文本视图
tv_result = findViewById(R.id.tv_result);
// 下面通过四个按钮分别演示TextUtils的四种常用方法
// 下面通过四个按钮分别演示TextUtils的四种常用方法
findViewById(R.id.btn_empty).setOnClickListener(this);
findViewById(R.id.btn_trim_length).setOnClickListener(this);
findViewById(R.id.btn_digit).setOnClickListener(this);
findViewById(R.id.btn_ellipsize).setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.btn_empty) {
// 判断字符串是否为空值
boolean isEmpty = TextUtils.isEmpty(et_input.getText());
String desc = String.format("输入框的文本%s空的", isEmpty ? "是" : "不是");
tv_result.setText(desc);
} else if (v.getId() == R.id.btn_trim_length) {
// 获取字符串去除头尾空格之后的长度
int length = TextUtils.getTrimmedLength(et_input.getText());
String desc = String.format("输入框的文本去掉左右空格后的长度是%d", length);
tv_result.setText(desc);
} else if (v.getId() == R.id.btn_digit) {
// 判断字符串是否全部由数字组成
boolean isDigit = TextUtils.isDigitsOnly(et_input.getText());
String desc = String.format("输入框的文本%s纯数字", isDigit ? "是" : "不是");
tv_result.setText(desc);
} else if (v.getId() == R.id.btn_ellipsize) {
// 总共显示十个字符(因为省略号占了一个,所以还剩九个可显示汉字)
float avail = et_input.getTextSize() * 10;
// 如果字符串超过十位,则返回在尾部截断并添加省略号的字串
CharSequence ellips = TextUtils.ellipsize(et_input.getText(), et_input.getPaint(), avail, TextUtils.TruncateAt.END);
tv_result.setText("输入框的文本加省略号的样式为:" + ellips);
}
}
}