1.介绍
(1)获取屏幕的焦点
android:focusable与android:focusableInTouchMode(获取屏幕焦点)
前者针对在键盘下操作的情况,如果设置为true,则键盘上下左右选中,焦点会随之移动。
后者针对触屏情况,也就是我们点击屏幕的上的某个控件时,不要立即执行相应的点击逻辑,而是先显示焦点(即控件被选中),再点击才执行逻辑。
以下是获取屏幕焦点的实例代码:
android:focusable="true"
android:focusableInTouchMode="true"
(2)设置单行显示
android:singleLine="true"
(3)ellipsize使用方法
android:ellipsize = "end" //省略号在结尾
android:ellipsize = "start" //省略号在开头
android:ellipsize = "middle" //省略号在中间
android:ellipsize = "marquee" // 跑马灯
(4)padding与margin作用
Padding 为内边框,指该控件内部内容,如文本/图片距离该控件的边距
Margin 为外边框,指该控件距离边父控件的边距
(5)设置跑马灯显示次数android:marqueeRepeatLimit="marquee_forever"来设置跑马灯显示次数,marquee_forever表示不间断无限次
android:marqueeRepeatLimit="marquee_forever"
2.自定义样式
将常用的xml样式抽取出来放到styles.xml中
<style name="TitleStyle" > <!-- Customize your theme here. --> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:padding">10dp</item> <item name="android:gravity">center</item> <item name="android:background">#00ff00</item> <item name="android:textSize">20dp</item> <item name="android:layout_weight">1</item> </style>
activity布局中调用:
<TextView android:id="@+id/tvhome_function" style="@style/TitleStyle" android:text="功能列表" />
3.xml文件
主界面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" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/textView2" style="@style/TitleStyle" android:text="功能列表" /> </LinearLayout> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="100dp" android:layout_weight="1" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:marqueeRepeatLimit="marquee_forever" android:padding="5dp" android:singleLine="true" android:text="凌轩,26岁,一米七五的身高,体重六十三公斤,大学本科汉语言文学毕业,学士学位。毕业的时候,老爸替他在老家的县城找了一份老师的工作,可没做到半年,凌轩就忍受不了,自己给自己“下课”了。" android:textSize="20dp" /> </LinearLayout>
3.效果图