网站名字备案做网站 斗地主
Android应用开发学习笔记——目录索引
本章介绍文本视图(TextView)的显示,包括:设置文本内容、设置文本大小、设置文本显示颜色。
一、设置TextView显示内容
-  
Layout XML文件中设置
 
如:res/layout/activity_main.xml中通过属性:
android:text 设置文本
    <TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!" 
-  
Java 代码中设置
 
调用文本视图的setText()方法设置
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText("Hello World!"); 
-  
strings.xml中设置
 
Android Studio不推荐在xml布局文件直接Hardcoded string
推荐在/res/values目录strings.xml文件添加,然后使用@string引用
<resources><string name="app_name">TextView</string><string name="textView_hello">Hello World!</string>
</resources> 
res/layout/activity_main.xml
    <TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/textView_hello" 
java代码中
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText(R.string.textView_hello); 
layout XML或者java代码中都从string.xml引用字符串资源,以后要显示其他内容,也只需要修改string.xml一个地方即可,Android Studio推荐使用这种方法。
二、设置TextView显示大小
-  
Layout.xml文件中设置
 
android:textSize设置文本大小
    <TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="30sp" 
发现输入数字中有一个下来列表:

sp:专门用来设置字体大小(和系统设置中字体大小相关,跟随系统字体一起变化)
px:像素,屏幕的最小显示单位
pt:磅,1/72英寸
mm:毫米
in:英寸,1英寸 = 2.54厘米 = 25.4毫米
dp:与设备无关的显示单位,有时也写作dip
其中常用的是px、dp和sp三种。
dp和px的转换:
int dip2px(Context context, float dp) {float scale = context.getResources().getDisplayMetrics().density;return (int) (dp * scale + 0.5f);
}
int px2dip(Context context, int px) {float scale = context.getResources().getDisplayMetrics().density;return (int) (px / scale + 0.5f);
} 
-  
Java 代码中设置
 
调用文本视图的setTextSize()方法设置
TextView textView = (TextView) findViewById(R.id.textView);
textView.setTextSize(30); 
setTextSize()使用的是sp(COMPLEX_UNIT_SP)
    public void setTextSize(float size) {setTextSize(TypedValue.COMPLEX_UNIT_SP, size);} 
手机【设置】菜单->【显示】->【字体与显示大小】调整字体大小,可以看到使用sp文本字体大小会跟随系统变化,使用dp的不会变化。
三、设置TextView显示颜色
-  
Layout.xml文件中设置
 
android:textColor设置文本大小
XML 中android:textColor默认是不透明(也就是alpha = 0xFF),在前面要加“#”后面是十六进制RGB
    <TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="30sp"android:text="@string/textView_hello"android:textColor="#FF0000" 
-  
Java 代码中设置
 
调用文本视图的setTextColor()方法设置
Java代码中默认是透明(也就是alpha = 0x00),格式为ARGB,使用十六进制0x开头
如:红色0xFFFF0000、绿色0xFF00FF00、蓝色0xFF0000FF、白色0xFFFFFFFF
TextView textView = (TextView) findViewById(R.id.textView);
textView.setTextColor(0xFFFF0000); 
Color类中定义了12中颜色,可以使用
|   Color类定义  |   值  |   说明  |   Color类定义  |   值  |   说明  | 
|   BLACK  |   0xFF000000  |   黑色  |   GREEN  |   0xFF00FF00  |   绿色  | 
|   DKGRAY  |   0xFF444444  |   深灰  |   BLUE  |   0xFF0000FF  |   蓝色  | 
|   GRAY  |   0xFF888888  |   灰色  |   YELLOW  |   0xFFFFFF00  |   黄色  | 
|   LTGRAY  |   0xFFCCCCCC  |   浅色  |   CYAN  |   0xFF00FFFF  |   青色  | 
|   WHITE  |   0xFFFFFFFF  |   白色  |   MAGENTA  |   0xFFFF00FF  |   品红  | 
|   RED  |   0xFFFF0000  |   红色  |   TRANSPARENT  |   0  |   透明  | 
TextView textView = (TextView) findViewById(R.id.textView);
textView.setTextColor(Color.BLUE); 
-  
colors.xml中设置
 
/res/values目录colors.xml文件添加
<?xml version="1.0" encoding="utf-8"?>
<resources><color name="purple_200">#FFBB86FC</color><color name="purple_500">#FF6200EE</color><color name="purple_700">#FF3700B3</color><color name="teal_200">#FF03DAC5</color><color name="teal_700">#FF018786</color><color name="black">#FF000000</color><color name="white">#FFFFFFFF</color>
</resources> 
res/layout/activity_main.xml引用@color/自定义颜色名称
    <TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/textView_hello"android:textColor="@color/purple_200" 
java代码中引用R.color.颜色
TextView textView = (TextView) findViewById(R.id.textView);
textView.setTextColor(R.color.purple_200); 
-  
设置背景颜色
 
Layout XML文件中android:background设置背景
    <TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/textView_hello"android:textColor="@color/purple_200"android:background="#111111" 
java代码中
setBackgroundColor(),参数:使用Color类或者十六进制
TextView textView = (TextView) findViewById(R.id.textView);
textView.setBackgroundColor(Color.BLUE);
// 或者
textView.setBackgroundColor(0xFF0000FF); 
setBackgroundResource(), 参数:R.color.颜色,R.drawable.
TextView textView = (TextView) findViewById(R.id.textView);
textView.setBackgroundResource(R.color.black); 
注意: XML属性android:background和Java方法 setBackgroundResource()用来设置控件的背景,不单背景颜色,还可以使用图片背景。图片放到/res/drawable,XML中引用方法@drawable/
    <TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/textView_hello"android:background="@drawable/ic_launcher_background" 
java 代码使用R.drawable.
TextView textView = (TextView) findViewById(R.id.textView);
textView.setBackgroundResource(R.drawable.ic_launcher_background); 
四、TextView控件测试程序
java:
MainActivity.java
源码
百度网盘链接:百度网盘 请输入提取码 提取码:test
点此查看Android应用开发学习笔记的完整目录
