第二章 UI组件
2-2 TextView
- 文字大小、颜色:
textColor textSize - 显示不下使用…:
android:ellipsize=”start”—–省略号显示在开头
android:ellipsize=”end”——省略号显示在结尾
android:ellipsize=”middle”—-省略号显示在中间 - 文字+icon:drawable
- 中划线、下划线
- 跑马灯
操作示范:
activity_main.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btn_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView"/>
</LinearLayout>
MainActivity.java 文件:
package com.example.helloworld;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button mBtnTextView; //声明一个Button类型的变量,变量名为mBtnTextView
// 如果有报错,在出错地方按Alt+Enter键,会自动导入包
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtnTextView = findViewById(R.id.btn_textview); //找activity_main文件中设置的id
mBtnTextView.setOnClickListener(new View.OnClickListener(){ //创建点击事件
@Override
public void onClick(View v) {
//跳转到TextView演示
}
});
}
}
新建:
会看到自动声明这个文件:
加以下两行代码就可以实现跳转到刚刚创建的TextViewActivity.java文件
Intent会变红,鼠标对着他按alt+enter键,导入包就行
鼠标对着红框,按住Ctrl鼠标点击,就可以进入
写到这里:
打开下面这个文件:
把一些文字定义在这个文件
自己新定义了一个
然后就可以引用:
预览会显示:
当然,直接打字也可以显示:
设置字体颜色、大小,前面加了个内边距:
设置显示不下使用…:
文字+icon:
找一张图片,复制,粘贴到这个文件夹(注:图片文件名要是字母,不能有数字)(图片太大的话就自己用制图软件调一下):
a是图片名
中划线、下划线:
要在文字加划线,用java代码实现
运行模拟器:
点进去:
设置下划线:
运行模拟器:
通过HTML代码显示:
文字内容不在这里写,在HTML里写
跑马灯:
activity_text_view.xml
<?xml version="1.0" encoding="utf-8"?>
<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="20dp">
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView练习2"
android:textColor="#000000"
android:textSize="24sp"/>
<TextView
android:id="@+id/tv_2"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="end"
android:text="TextView练习1234567"
android:textColor="#000000"
android:textSize="24sp"
android:layout_marginTop="10dp"/>
<TextView
android:id="@+id/tv_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:drawablePadding="5dp"
android:drawableRight="@drawable/a"
android:text="筛选"
android:textColor="#000000"
android:textSize="24sp" />
<TextView
android:id="@+id/tv_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView练习4"
android:textColor="#000000"
android:textSize="24sp"
android:layout_marginTop="10dp"/>
<TextView
android:id="@+id/tv_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView练习4"
android:textColor="#000000"
android:textSize="24sp"
android:layout_marginTop="10dp"/>
<TextView
android:id="@+id/tv_6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="#000000"
android:textSize="24sp"
android:layout_marginTop="10dp"/>
<TextView
android:id="@+id/tv_7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView练习6666666666666666666666666666666"
android:textColor="#000000"
android:textSize="24sp"
android:layout_marginTop="10dp"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"/>
</LinearLayout>
TextViewActivity.java
package com.example.helloworld;
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 = (TextView)findViewById(R.id.tv_4); //findView返回的是view,mTv4是TextView,要类型转换
mTv4.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG); //设置中划线
mTv4.getPaint().setAntiAlias(true); //去除锯齿
mTv5 = (TextView)findViewById(R.id.tv_5);
mTv5.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线
mTv6 = (TextView)findViewById(R.id.tv_6);
mTv6.setText(Html.fromHtml("<u>TextView练习5</u>"));
}
}