Android开发-UI属性
- 格式:pdf
- 大小:408.41 KB
- 文档页数:8
《Android基础应用》AndroidUI基本控件与事件处理⏹本章任务⏹使用Android开发本息计算器程序⏹使用Android开发华氏-摄氏温度转换器⏹本章目标⏹熟悉掌握本章基本控件的使用⏹熟练掌握Android常用事件1.Android基本控件Android应用开发的一项内容就是用户界面的开发,Android提供了大量功能丰富的UI组件,大部分放在android.widget包及其子包android.view包及其子包在Android当中View类是最基本的一个UI类,基本上所有的高级UI组件都是继承View类而实现的。
如Button(按钮),list(列表),EditText(编辑框),RadioButton(多选按钮),Checkbox(选择框)等都是View类在Android中,我们可以在Xml文件中使用UI组件也可以在java文件中创建UI组件官方建议采用xml方式,这样的话能够实现界面和代码分离1.1TextView和EditTextTextView是一种用于显示字符串的控件EditText则是用来输入和编辑字符串的控件,EditText是一个具有编辑功能的TextViewTextView和EditText基本属性●android:id设置ID,通过编码可以找到这个组件●android:layout_width设置在屏幕上的宽度●android:layout_height设置在屏幕上的高度fill_parent强制性地使构件扩展,以填充布局单元内尽可能多的空间wrap_content强制性地使视图扩展以显示全部内容●android:text设置显示的文本信息●android:textColor设置文本颜色●android:textSize设置文本尺寸示例的现实结果1.2Button和ImageButtonButton是一种按钮控件,用户能够在该控件上点击,并后引发相应的事件处理函数ImageButton用以实现能够显示图像功能的控件按钮示例示例的现实结果1.3CheckBox和RadioButtonCheckBox是一个同时可以选择多个选项的控件RadioButton则是仅可以选择一个选项的控件示例1.4 开发本息计算器界面需求说明银行提供整存整取定期储蓄业务,年利率为(一年 2.25%,两年 2.7%,三年3.24%,五年3.6%),要求输入本金数目和存款年限,计算到期取款时银行应支付本息开发思路开发页面main.xml按效果图进行布局示例练习——开发本息计算器界面2.Android事件处理事件处理的概念任何应用最终都是要面对用户的,经常处理的是用户的动作,也就是说要为用户的动作提供响应,这种为为用户动作提供响应的机制就是事件处理Android提供了强大的事件处理机制基于监听的事件处理●主要就是为Android界面组件绑定特定的事件监听器基于回调的时间处理●主要做法是重写Android组件特定的回调函数,Android大部分界面组件都提供了事件响应的回调函数,我们只要重写它们就行2.1基于监听的事件处理这是更具“面向对象”性质的事件处理方式,与java中的AWT,Swing开发中的处理相同在监听器模型中,主要涉及三类对象事件源Event Source:产生事件的来源,通常是各种组件,如按钮,窗口等事件Event:事件封装了界面组件上发生的特定事件的具体信息,如果监听器需要获取界面组件上所发生事件的相关信息,一般通过事件Event对象来传递 事件监听器Event Listener:负责监听事件源发生的事件,并对不同的事件做相应的处理基于监听器的事件处理机制是一种委派式Delegation的事件处理方式,事件源将整个事件委托给事件监听器,由监听器对事件进行响应处理。
安卓ui规范安卓UI规范旨在为开发者提供一套统一且一致的设计规范,确保用户在不同应用中能够获得相似的界面和交互体验。
本文将介绍一些常见的安卓UI规范,包括布局、颜色、字体、图标、按钮等。
一、布局规范:1. 使用LinearLayout、RelativeLayout或ConstraintLayout等布局管理器,确保界面能够适应不同屏幕尺寸和方向。
2. 使用间距和对齐等属性来调整视图之间的间隔和位置,使布局更加整齐和统一。
二、颜色规范:1. 使用Material Design中的颜色,确保界面与其他应用一致。
2. 避免使用过多的颜色,保持简洁和一致性。
3. 使用透明度来突出重要或活动状态的元素,而不是改变颜色本身。
三、字体规范:1. 使用Roboto字体作为默认字体,确保文字的清晰和可读性。
2. 使用不同的字体大小和样式来区分标题、正文和按钮等不同类型的文字。
3. 避免使用过大或过小的字体,保持合适的尺寸。
四、图标规范:1. 使用矢量图标,以适应不同屏幕密度和分辨率。
2. 使用Material Design中的图标,以确保与其他应用保持一致。
3. 避免使用过多或过大的图标,保持简洁和可读性。
五、按钮规范:1. 使用标准尺寸的按钮,以便用户轻松点击。
2. 使用合适的颜色和字体来突出按钮,以增加点击的可视性。
3. 使用Ripple效果来提供点击反馈,以增加用户的操作信心。
六、导航规范:1. 使用底部导航栏或侧滑菜单来提供主要导航功能,确保用户能够轻松访问不同的界面。
2. 使用导航图标或标签来区分不同的导航选项,以增加用户的可识性。
3. 避免过多的导航选项,以保持界面的简洁和清晰。
七、交互规范:1. 使用动画和过渡效果来提高用户界面的可见性和可理解性。
2. 使用Toast、Snackbar等提示工具来向用户提供操作结果和反馈。
3. 避免过多的弹窗和询问,以减少用户的操作疲劳。
总结:通过遵循安卓UI规范,开发者可以创建出一致和易用的应用界面,提高用户的满意度和体验。
/cmdn/bbs/viewthread.php?tid=18736&page=1 #pid89255Android UI开发专题(一) 之界面设计近期很多网友对Android用户界面的设计表示很感兴趣,对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的。
本次专题分10节来讲述,有关OpenGL ES相关的可能将放到以后再透露。
本次主要涉及以下四个包的相关内容:android.content.res 资源类android.graphics 底层图形类android.view 显示类android.widget 控件类一、android.content.res.Resources对于Android平台的资源类android.content.res.Resources可能很多网友比较陌生,一起来看看SDK上是怎么介绍的吧,Contains classes for accessing application resources, such as raw asset files, colors, drawables, media or other other files in the package, plus important device configuration details (orientation, input types, etc.) that affect how the application may behave.平时用到的二进制源文件raw、颜色colors、图形drawables和多媒体文件media的相关资源均通过该类来管理。
int getColor(int id) 对应res/values/colors.xmlDrawable getDrawable(int id) 对应res/drawable/XmlResourceParser getLayout(int id) 对应res/layout/String getString(int id) 和CharSequence getText(int id) 对应res/values/strings.xmlInputStream openRawResource(int id) 对应res/raw/void parseBundleExtra (String tagName, AttributeSet attrs, Bundle outBundle) 对应res/xml/ String[] getStringArray(int id) res/values/arrays.xmlfloat getDimension(int id) res/values/dimens.xml二、android.graphics.Bitmap作为位图操作类,Bitmap提供了很多实用的方法,常用的我们总结如下:boolean compress(pressFormat format, int quality, OutputStream stream) 压缩一个Bitmap对象根据相关的编码、画质保存到一个OutputStream中。
I. 简介在移动应用开发中,界面设计与布局是非常重要的环节。
使用Android Studio作为开发工具,可以轻松实现布局设计和界面编写。
本文将介绍如何使用Android Studio进行布局设计和界面编写的一些基本步骤和技巧。
II. 安装和设置首先,确保你已经在计算机上成功安装了Android Studio。
安装完成后,打开Android Studio,并选择新建项目。
接下来,选择适合你项目的最低API级别和目标API级别。
一般情况下,选择较高的最低API级别可以兼容更多的设备。
III. 布局设计在Android Studio中,布局设计使用的是XML语言来描述界面的结构和样式。
最常用的布局类型是LinearLayout和RelativeLayout,它们可以实现不同的屏幕布局。
布局文件可以通过拖拽和预览的方式进行设计。
1. 创建布局文件在项目的res目录下找到layout文件夹,右键点击选择“New -> Layout resource file”,然后命名文件并选择布局类型。
创建完成后,就可以在布局文件中添加和编辑各种视图组件。
2. 添加组件在布局文件中,可以通过在XML中添加组件来构建界面。
例如,可以使用TextView显示文本内容,使用Button添加按钮操作,使用ImageView显示图像等。
在XML中为每个组件设置ID和属性,以定义其在界面布局中的样式和位置。
3. 约束布局Android Studio还支持约束布局,它可以更灵活地定位和调整视图组件的位置。
通过拖拽和连接各个视图组件之间的边界和约束,可以进行更自由的布局。
约束布局的使用需要一些练习和对视图关系的理解。
IV. 界面编写在完成布局设计后,需要对界面进行编写,即为各个组件添加相应的功能和逻辑。
界面编写主要使用Java语言来实现。
1. 创建活动在项目的Java目录下,找到包名,右键点击选择“New -> Activity -> Empty Activity”,然后命名新的活动。
android ui界面设计参数讲解android:layout_width 设置组件的宽度android:layout_height 设置组件的高度android:id 给组件定义一个id值,供后期使用android:background 设置组件的背景颜色或背景图片android:text 设置组件的显示文字android:textColor 设置组件的显示文字的颜色android:layout_below 组件在参考组件的下面android:alignTop 同指定组件的顶平行android:maxLength="6" 限制输入字数android:digits='012356789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'限制输入数字和大写小写字母1. 开发更简单,执行速度高效。
2. 输入法默认会根据情况变动,比如说设置为numeric后输入法会自动仅显示数字,不会出现Qwerty中的字母。
下面我们通过EditText的layout xml文件中的相关属性来实现:1. 密码框属性android:password='true' 这条可以让EditText显示的内容自动为星号,输入时内容会在1秒内变成*字样。
2. 纯数字android:numeric='true' 这条可以让输入法自动变为数字输入键盘,同时仅允许0-9的数字输入3. 仅允许android:capitalize='cwj1987' 这样仅允许接受输入cwj1987,一般用于密码验证下面是一些扩展的风格属性一起使用。
效果:效果如下:。
Android开发应用UI性能优化分析应用UI性能问题分析UI可谓是一个应用的脸,所以每一款应用在开发阶段我们的交互、视觉、动画工程师都拼命的想让它变得自然大方美丽,可是现实总是不尽人意,动画和交互总会觉得开发做出来的应用用上去感觉不自然,没有达到他们心目中的自然流畅细节;这种情况之下就更别提发布给终端用户使用了,用户要是能够感觉出来,少则影响心情,多则卸载应用;所以一个应用的UI显示性能问题就不得不被开发人员重视。
应用UI卡顿原理人类大脑与眼睛对一个画面的连贯性感知其实是有一个界限的,譬如我们看电影会觉得画面很自然连贯(帧率为24fps),用手机当然也需要感知屏幕操作的连贯性(尤其是动画过度),所以Android索性就把达到这种流畅的帧率规定为60fps。
有了上面的背景,我们开发App的帧率性能目标就是保持在60fps,也就是说我们在进行App 性能优化时心中要有如下准则:换算关系:60帧/秒-----------16ms/帧;准则:尽量保证每次在16ms内处理完所有的CPU与GPU计算、绘制、渲染等操作,否则会造成丢帧卡顿问题。
从上面可以看出来,所谓的卡顿其实是可以量化的,每次是否能够成功渲染是非常重要的问题,16ms能否完整的做完一次操作直接决定了卡顿性能问题。
当然了,针对Android系统的设计我们还需要知道另一个常识;虚拟机在执行GC垃圾回收操作时所有线程(包括UI线程)都需要暂停,当GC垃圾回收完成之后所有线程才能够继续执行(这个细节下面小节会有详细介绍)。
也就是说当在16ms内进行渲染等操作时如果刚好遇上大量GC操作则会导致渲染时间明显不足,也就从而导致了丢帧卡顿问题。
有了上面这两个简单的理论基础之后我们下面就会探讨一些UI卡顿的原因分析及解决方案。
应用UI卡顿常见原因我们在使用App时会发现有些界面启动卡顿、动画不流畅、列表等滑动时也会卡顿,究其原因,很多都是丢帧导致的;通过上面卡顿原理的简单说明我们从应用开发的角度往回推理可以得出常见卡顿原因,如下:1.人为在UI线程中做轻微耗时操作,导致UI线程卡顿;2.布局Layout过于复杂,无法在16ms内完成渲染;3.同一时间动画执行的次数过多,导致CPU或GPU负载过重;4.View过度绘制,导致某些像素在同一帧时间内被绘制多次,从而使CPU或GPU负载过重;5.View频繁的触发measure、layout,导致measure、layout累计耗时过多及整个View频繁的重新渲染;6.内存频繁触发GC过多(同一帧中频繁创建内存),导致暂时阻塞渲染操作;7.冗余资源及逻辑等导致加载和执行缓慢;8.臭名昭著的ANR;可以看见,上面这些导致卡顿的原因都是我们平时开发中非常常见的。
Android系统开发的基础知识与技巧Android系统已经成为现代移动设备的主流操作系统之一。
无论是应用程序开发还是系统级别开发,对其有着充分的掌握是非常重要的。
本文将介绍Android系统开发的基础知识与技巧,旨在帮助开发者更好地理解和使用Android系统。
1. Android框架Android框架定义了Android系统的核心组件,这些组件共同构成了整个Android系统的运行环境。
其中最重要的是四大组件:Activity、Service、Broadcast Receiver和Content Provider。
- Activity是Android系统界面的主要表现形式,它充当用户与应用程序之间的中介。
- Service是Android系统的一种后台服务,提供长时间运行的后台功能,如音乐播放器和位置监听器。
- Broadcast Receiver是系统事件的接收器,允许应用程序监听系统事件和自定义事件。
- Content Provider则需要管理应用程序中的数据访问、共享和保护。
这些组件可以构建复杂而灵活的应用程序,同时也可以自由地使用其它语言和框架,如Java、Kotlin、React Native和Flutter。
2. Android视图Android视图是Android开发中的核心应用程序。
它们允许开发人员创建应用程序的图形用户界面(GUI)。
在Android中,应用程序的GUI可以通过视图树组织起来。
在Android中,视图通常包括基本构建块,例如TextView、ImageView、EditText和Button。
它们允许开发者自由地选择尺寸和位置,颜色和样式。
此外,Android视图还可以通过自定义视图创建新的UI元素。
3. Android资源Android开发环境允许开发者将应用程序的资源分离成各种组件,如图像、音频和用户交互元素等。
然后,可以通过代码或布局文件将它们组合在一起。
Android系统中的UI设计与开发技巧Android系统是智能手机上广泛使用的操作系统,而UI设计和开发则是Android应用程序的核心组成部分。
本文将分析Android UI设计和开发的一些技巧。
一、UI设计1. 程序可读性在设计Android系统应用程序时,应尽量保持程序可读性。
应用程序应该是精简,且只包含必要的功能和信息。
程序的字体、颜色和布局应该清晰,并可根据用户的习惯和喜好进行调整。
2. 使用Material DesignMaterial Design是Google最近推出的UI设计语言,其目标是创造具有真实感和高品质的设计效果。
Material Design的设计原则是:基于传统设计、打造新的表现,并优化交互方式。
3. 移动设备优先在设计应用程序时,应考虑到屏幕的大小和分辨率,设计应该优化移动设备的显示效果。
移动设备顶部的导航栏和底部的操作栏应尽可能利用屏幕宽度,而不要设计太多的菜单和选项。
程序的文字和图标大小应适中,好让用户轻松阅读和操作。
二、UI开发1. 响应式设计响应式设计是指程序可以根据设备的不同大小和分辨率,在不同的环境下保持一致的显示效果。
Android系统中,目前广泛使用响应式框架框架。
这些框架使得编写响应式界面更为方便,同时也可以减少开发的代码量。
最流行的响应式框架是Android系统官方开发的Material Design,不过也有其他很多不错的框架。
2. 调试工具调试工具是Android开发中必不可少的环节,可以帮助开发者更快地定位程序的问题。
Android系统自带了一些调试工具,如Hiearchy Viewer和Layout Inspector。
谷歌的开发工具Android Studio也集成有Android System Monitor和Memory Analyzer。
3. 设计模式设计模式是一套模式化的设计思想和问题解决方法,遵循设计模式规范可以极大地简化代码的开发和维护。
Android:UI界⾯设计基础知识总结(⼀)⼤年初⼀,这⾥有我。
寒假过的很快,转眼间已经荒废了两周的学习时间,现在想来仍然是惭愧不已。
但时间已经流逝,我能做的就是抓紧当下,真正地投⼊到学习,投⼊到Android的学习中去。
现在学习主要是跟着视频教程边看边学,现将学习到的零星知识点总结如下:Android 系统中的所有 UI 类都是建⽴在 View 和 ViewGroup 两个类的基础之上的,所有 View 的⼦类称为 Widget,所有 ViewGroup 的⼦类称为 Layout。
其中 ViewGroup 是 View 的⼦类。
View 是所有 UI 组件的基类,基本上所有的⾼级 UI 组件都是继承 View 类实现的,如 TextView(⽂本框)、Button、List、EditText(编辑框)、Checkbox 等。
⼀个 View 在屏幕占据⼀块矩形区域,负责渲染这块矩形区域,也可以处理这块矩形区域发⽣的事件,并可以设置该区域是否可见以及获取焦点等。
ViewGroup 是容纳这些组件的容器,其本⾝也是从 View 中派⽣出来的,它继承于 Android.view.View,功能就是装载和管理下⼀层的 View 对象或 ViewGroup 对象,也就是说它是⼀个容纳其他元素的容器,负责对添加进来的 View 和 ViewGroup 进⾏管理和布局。
Android常⽤的UI组件:⾸先有⼀些属性是通⽤的:id=”@+id/name”创建⼀个id,系统会在R.java⽂件⾥⽣成对应的int型变量(R.java⽤来定义所有类型资源的索引)。
引⽤时:”@id/name”orientation ⽔平⽅向或垂直⽅向margin:外边距padding:内边距gravity:位置管理⼀、布局管理SDK 定义了多种布局⽅式以⽅便⽤户设计 UI。
各种布局⽅式均为 ViewGroup 类的⼦类。
主要学习的是两种最常⽤的布局,是线性布局(LinearLayout)和相对布局(RelativeLayout)。
android:fadingEdgeLength 设置淡入淡出边缘的长度,可以接受大小值的单位是:px、dp、sp、in、mm,也可以参考大小值资源android:fitsSystemWindows 是否适合系统窗体,取值为true或false。
该属性只对不是子组件的组件有效android:focusable 是否可以获取焦点,取值true或false android:focusableInTouchMode 是否可以在触摸模式下获取焦点,true或false android:hapticFeedbackEnabled 是否允许触摸反馈效果,true或falseandroid:id 提供该组件的标识名,可以借助Activity或View实例的findViewById方法通过id获取对应的组件实例对象,其属性值的形式为:android:id=”@+id/id<id>”android:isScrollContainer 设置该组件是否设置为滚动条容器,true或false android:keepScreenOn 控制该组件在显示的时候保持在屏幕显示,true或false android:longClickable 是否响应长时间点击事件,true或falseandroid:minHeight 组件的最小高度,取值同android:fadingEdgeLength android:minWidth 组件的最小宽度,取值同android:fadingEdgeLength android:nextFocusDown 设置下一个向下获取焦点的组件,取值为id android:nextFocusLeft 设置下一个向左获取焦点的组件,取值为id android:nextFocusRight 设置下一个向右获取焦点的组件,取值为id android:nextFocusUp 设置下一个向上获取焦点的组件,取值为idandroid:padding 设置上、下、左、右4个边缘的填充距离,必须是一个大小值,取值同android:fadingEdgeLengthandroid:paddingBottom 设置下端边缘的填充距离,取值同android:padding android:paddingLeft 设置左端边缘的填充距离,取值同android:padding android:paddingRight 设置右端边缘的填充距离,取值同android:padding android:paddingTop 设置上端边缘的填充距离,取值同android:padding android:saveEnabled 是否允许保存状态,取值为true或falseandroid:scrollX 设置垂直滚动条的位移量,必须是一个大小值,取值同android:paddingandroid:scrollY 设置水平滚动条的位移量,必须是一个大小值,取值同android:paddingandroid:scrollbarAlwaysDrawHorizontalTrack 是否总是设置水平滚动条滑块,true或false android:scrollbarAlwaysDrawVerticalTrack 是否总是设置垂直滚动条滑块,true或falseandroid:scrollbarSize 设置垂直滚动条的宽度和水平滚动条的长度,必须是一个大小值,取值同android:paddingandroid:scrollbarStyle 设置滚动条的样式,取值为下列之一:insideOverlay在填充区域内,覆盖形式insideInset在填充区域内,插进形式(凹进)outsideOverly在绑定组件边缘,覆盖形式outsideInset在绑定组件边缘,插进形似android:scrollbarThumbHorizontal 设置水平滚动条按钮的绘制资源,必须引用可绘制资源android:scrollbarThumbVertical 设置垂直滚动条按钮的绘制资源,必须引用可绘制资源android:scrollbarTrackHorizontal 设置水平滚动条轨道的绘制资源,必须引用可绘制资源android:scrollbarTrackVertical 设置水平滚动条轨道的绘制资源,必须引用可绘制资源android:scrollbars 设置滚动显示,可以为一下一个或多个值:none不显示滚动条horizontal只显示水平滚动条vertical只显示垂直滚动条android:soundEffectsEnabled 是否允许音效,取值为true或falseandroid:tag 设置标记内容,可以通过View类实例的getTag方法获取该组件的标记内容,或者使用findViewByTag通过标记来查找相应的子组件android:visibility 设置初始化可见状态,取值为以下之一:visible可见(默认值)invisible不可见(其所占空间将留出)gone完全不可见(其所占空间都不会留出)线性布局LinearLayout组件属性列表属性说明android:baselineAligned 基线对齐android:baselineAlignedChildIndex 以指定子组件作为基线对齐android:gravity 指定该物体放入其容器的重心位置,取值为下列之一:top上方,物体大小不变bottom下方,物体大小不变left左方,物体大小不变right右方,物体大小不变center_vertical垂直方向的中间,物体大小不变fill_vertical填满垂直方向,自动进行大小调整center_horizontal水平方向的中间,大小不变fill_horizontal填满水平方向,自动进行大小调整center居中(既是水平也是垂直方向的中间)fill填满整个容器clip_verticalclip_horizontalandroid:orientation 布局方向,取值为下列之一:horizontal水平的vertical垂直的(默认值)android:weightSum 组件的比重和线性布局参数LinearLayout_Layout属性说明android:layout_gravity 当前子组件的心位置android:layout_height 当前子组件的高度android:layout_weight 当前子组件的空间比重,取值为浮点数android:layout_width 当前子组件的宽度相对布局RalativeLayout属性说明android:gravity 设置添加组件的重心android:ignoreGravity 忽略布局重心的影响相对布局参数RalativeLayout_Layout属性说明android:layout_above 将当前组件的下边缘放置于参照组件之上,该属性为参照组件的IDandroid:layout_alignBaseline 当前组件与参照组件的基线对齐,该属性为参照组件的IDandroid:layout_alignBottom 当前组件与参照组件的下边界对齐,该属性为参照组件的IDandroid:layout_alignLeft 当前组件与参照组件的左边界对齐,该属性为参照组件的IDandroid:layout_alignParenBottom 当前组件与父组件的下边界对齐,true或false android:layout_alignParentLeft 当前组件与父组件的左边界对齐,true或false android:layout_alignParentRight 当前组件与父组件的右边界对齐,true或false android:layout_alignParentTop 当前组件与父组件的上边界对齐,true或falseandroid:layout_alignRight 当前组件与参照组件的右边界对齐,该属性为参照组件的IDandroid:layout_alignTop 当前组件与参照组件的上边界对齐,该属性为参照组件的IDandroid:layout_alignWithParentIfMissing true或falseandroid:layout_below 将当前组件的上边缘放置于参照组件之下,该属性为参照组件的IDandroid:layout_centerHorizontal 当前组件放置到父组件的水平居中的位置android:layout_centerInParent 当前组件放置到父组件的重心位置android:layout_centerVertical 当前组件放置到父组件垂直居中的位置android:layout_toLeftOf 将当前组件的右边缘放置于参照组件之下,该属性为参照组件的IDandroid:layout_toRightOf 将当前组件的左边缘放置于参照组件之下,该属性为参照组件的ID绝对布局参数AbsoluteLayout_Layout属性说明android:layout_x 当前组件的x坐标位置(从左到右方向)android:layout_y 当前组件的y坐标位置(从上到下方向)框布局FrameLayout属性说明android:foreground 前置图片android:foregroundGravity 前置图片重心android:measureAllChildren 在切换显示时是否侧重所有子组件的大小android:layout_gravity 添加组件的重心框布局参数FrameLayout_Layout属性说明android:layout_gravity 当前子组件所添加的重心位置表格行的单元TableRow_Cell抽象列表视图组件AbsListView文本组件TextView。