安卓入门之TextView
TextView
TextView是文本显示控件
id和内容
当我们在代码中要操作控件时就要用id来操作
//tv_one就是我们的id
android:id="@+id/tv_one"
//内容
android:text="这是内容"
比如修改显示的内容
TextView tv_one=findViewById(R.id.tv_one);
tv_one.setText("这是内容");
宽度和高度
//宽度
android:layout_width="200dp"
//高度
android:layout_height="200dp"
可选值有:
//表示让当前控件的大小和父布局的大小一样,也就是由父布局来决定当前控件的大小
match_parent
//表示让当前的控件大小能够刚好包含里面的内容,也就是由控件内容决定当前控件的大小
wrap_content
//和match_parent一样,但是已经不推荐使用了
fill_parent
//当然还有数字,直接设置大小,单位一般是dp
200dp
字体颜色
颜色一般是8位,前2位代表透明度00
则完全透明ff
则不透明
后6位就和网页颜色一样了,代表红绿蓝。
android:textColor="#FF000000"
字体风格
textStyle
有三种值
1.默认不设置是normal
2.字体加粗bold
3.斜体字italic
android:textStyle="normal"
字体大小
textSize
字体大小,单位一般是sp
android:textSize="30sp"
背景色
background
控件的背景颜色,可以理解为填充整个控件的颜色,当然也可以是图片。
//颜色值和textColor是一样的
android:background="#FF0000ff"
内容对齐方式
gravity
是设置控件中内容的对齐方向。
android:gravity="center"
他可选的属性有
//顶部
top
//底部
bottom
//左边
left
//右边
right
//居中
center
//垂直居中
center_vertical
fill_vertical
//水平居中
center_horizontal
fill_horizontal
//自动适应
fill
clip_vertical
clip_horizontal
start
end
阴影
- android:shadowColor:设置阴影颜色,需要与shadowRadius—起使用
- android:shadowRadius:设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0
- android:shadowDx:设置阴影在水平方向的偏移就是水平方向阴影开始的横坐标位置
- android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置
android:shadowColor="@color/red"
android:shadowRadius="3.0"
android:shadowDx="10.0"
android:shadowDy="10.0"
跑马灯效果
- android:singleLine:内容单行显示2. android:focusable:是否可以获取焦点
- android:focusablelnTouchMode:用于控制视图在触摸模式下是否可以聚焦
- android:ellipsize:在哪里省略文本
- android:marqueeRepeatLimit:字幕动画重复的次数
//一行显示
android:singleLine="true"
//跑马灯显示
android:ellipsize="marquee"
//设置流动的次数,这里是无限次重复
android:marqueeRepeatLimit="marquee_forever"
//设置聚焦的时候,开启跑马灯
android:focusable="true"
android:focusableInTouchMode="true"
当然要跑起来还要他获取焦点了,
自动获取焦点可以添加一个requestFocus
<TextView
android:id="@+id/tv_one"
android:text="@string/tv_one"
android:textColor="@color/black"
android:textStyle="normal"
android:textSize="30sp"
android:gravity="center"
android:shadowColor="@color/red"
android:shadowRadius="3.0"
android:shadowDx="10.0"
android:shadowDy="10.0"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="match_parent"
android:layout_height="200dp">
<requestFocus/>
</TextView>
小技巧
如果忘记了节点有哪些属性可以使用ctrl+鼠标左键
点进去查看。
完整代码
//activity_main.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">
<TextView
android:id="@+id/tv_one"
android:text="@string/tv_one"
android:textColor="@color/black"
android:textStyle="normal"
android:textSize="30sp"
android:gravity="center"
android:shadowColor="@color/red"
android:shadowRadius="3.0"
android:shadowDx="10.0"
android:shadowDy="10.0"
android:layout_width="200dp"
android:layout_height="200dp"/>
</LinearLayout>
//strings.xml
<resources>
<string name="app_name">demo1</string>
<string name="tv_one">这是内容</string>
</resources>
//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>
<color name="red">#FFFF0000</color>
</resources>