志在指尖
用双手敲打未来

Ui界面的两种方式:布局文件和代码

运用布局文件规划界面
Android布局文件坐落项目结构中的res/layout下,是一个XML文件,它的命名只能是小写字母、数字和”_”,并且数字不能最初,合法的布局文件会在R文件中生成对应的引证,当项目的R文件无法主动生成时,很多时候是因为资源文件res中命名不合法造成的,应仔细检查res中的一切资源,是否存在大写字母或其他字符。
为了便利引证布局文件中的控件,在增加完控件之后,都应该赋子唯一的标识符,对应的特点android:id。
Android布局文件的规划与JavaGUl开发运用awt,swing编程类似,控件应放在布局管理器(或称容器)中,布局管理器之间能够彼此嵌套。
给一个Activity指定布局,能够在Activity的onCreate办法中,运用如下代码:android
setContentView(R.layout.布局文件名称)
操控控件的样式,内容,行为,设置监听器。引证控件的代码如下:
findViewByld(R.id.控件id特点)
上述办法必须坐落设置布局文件setContentVicw办法之后,否则会抛出过错。
id为tv的控件是TextView控件,在引证时能够采用如下代码:
TextViewtv=(TextView)findViewById(R.id.tv)
运用Java代码规划界面规划
除了运用xml布局文件规划界面,Android也支撑类似于JavaGUI办法的UI开发,经过new关键字创建控件,再将这些控件放置在相应布局容器中。
控件的根本特点
Android体系控件共分为10类,包含了应用程序所需求的大部分控件;
1.FormWidgets(表单类控件),包含TextView(文本标签)、Button(按钮)、RadioButton(单选按钮)、CheckBox(复选框)、SeekBar(拖动条)、Spinner(下拉表)等。
2.TextFilelds(文本框控件),根据输入内容的不同分为一般文本框、暗码文本框、电话文本框、数字文本框
3.Layouts(布局管理器控件),包含LinearLayout(线性布局)、RelativelLayout(相对布局)、FrameLayout(帧布局)、TableLayout(表格布局)、AbsoluteLayout(肯定布局)、GridLayout(网格布局)。
4…Composite(组合控件),包含ListView(列表视图)、GridView(表格视图)、ScrollView(翻滚视图)、TabHost(标签容器)等。
5.Images&Media(图片和媒体控件,包含ImageView(图片控件)、ImageButton(图片按钮)、VideoView(视频播放控件)等。
6.Time&.Date(时刻和日期控件),包含TimePicker(时刻挑选器)、DatePicker(日期挑选器)、AnalogClock(模仿时钟)、DigitalClock(电子时钟)等。
7.Transitions(过渡作用控件),包含ImagesSwitcher(图片切换)、ViewSwitcher(视图切换)等。
控件根本特点
TextView直接承继View类,首要功能是显现文本
Button控件承继TextView,首要功能是处理用户的点击操作
EditText控件是TextView的子类,首要功能是供用户输入数据
EditText控件inputType特点取值
android:inputType取值阐明
android:inputType=“number”输人内容为数字
android:inputType=“numberDecimal”输入内容为带小数点的浮点格局
android:inputType=“phone”输人内容为电话号码
android:inputType=“datetime”输入内容为日期时刻
android:inputType=“date”输入内容为日期键盘
android:inputType=“textCapWords”输入文本时词首字母大写
android:inputType=“textCapSentences”输人文本时句首字母大写
android:inputType=“textAutoCorrect”输人文本时主动更正
android:inputType=“textAutoComplete”输人文本时主动完成
android:inputType=“textMultiLine”能够多行输人
android:inputType=“textUri”输入内容为网址
android:inputType=“textEmailAddress”输人内容为电子邮件地址
android:inputType=“textPostalAddress”输入内容为地址
android:inputType=”textPassword’暗码输入框
android:inputType=”textVisiblePassword可见暗码输人框
-CheckBox是CompoundlButton类的子类,是Button类的直接子类,首要功能是供给复选框。
-RadioButton是ComnoundButton类的子类,是Button类的直接子类,首要功能是单选按钮。
-SeekBar(拖动条)是ProgressBar(进展条)的直接子类,ProgressBar是View的子类。
-监听器OnSeekBarChangeListener有3个办法,别离对应拖动开始,完毕和拖动中,比较常用的是onProgressChanged办法,progress参数是拖动条被修改的取值。
RatingBar:RalingBar的承继联系与SeekBar一样,它是SeekBar和ProgresBar的一种扩展,默认运用星形图片来显现等级鉴定,接触、拖动或运用键来设置评分。
ProgressBar
ProgressBar承继自View,表示进展条
特点取值:
Widget.ProgressBar.Horizontal,水平进展条样式。
Widget.ProgressBar.Small,环形进展条,小尺度。
Widget.ProgressBar.Large,环形进展条,大尺度。
Widget.ProgressBar.Inverse,环形进展条,一般尺度。
ProgressBar的常用特点
特点阐明
android:max进展条的最大值
android:progress当前主进展值
android:secondaryProgress当前次进展值
android:progressDrawable进展条布景
布局管理器
Android布局管理器都继派自ViewGroup类,直接承继View类,用于寄存控件或嵌套其他布局。Android供给了6种布局管理器,别离是线性布局(LinearLayout),相对布局(RelativeLayout)、表格布局(TableLayout)、帧布局(FrameLayout)、肯定布局(AbsoluteLayout)和网络布局(GriLayout)。
LinearLayout常用特点
特点阐明
android:gravity设置元素的对齐办法
android:orientation设置线性方向
android:layout_gravity元素特点,对齐办法
android:layoutweight元素,表示所占方位的权重
Relativelayout相对布局管理器:元素能够运用它们彼此之间的方位联系,确定摆放方位
RelativeLayout常用特点
特点阐明
android:Iayout_below在某元素的下方
android:Iayout_above在某元素的上方
android:layout_toLeftOf在某元素的左面
android:layout_toRightOf在某元素的右边
android:layout_alignTop本元素的上边际和某元素的上边际对齐
android:layout_alignlLeft本元素的左面缘和某元素的左面缘对齐
android:layout_alignBottom本无素的下边际和某元素的下边际对齐
android:layoutalignRight本元素的右边际和某元素的下边际对齐
android:layout_centerHrizontal水平居中
android:layout_centerVertical垂直居中
android:layoutcenterlnparent相对于父元素彻底居中
android:layout_alignParentBottom贴紧父元素的下边际
android:layout_alignParentLeft贴紧父元素的左面缘
android:layout_alignParentRight贴紧父元素的右边际
android:layout_alignParentTop贴紧父元素的上边际
android:layout_marginBottom底边际的间隔
android:layout_marginLeft左面缘的间隔
android:layout_marginRight右边际的间隔
android:layout_marginTop上边际的间隔
TableLayout表格布局是以行为单位的布局办法,它不需求指明有多少行、多少列,经过增加TableRow或其他元素动态确定行数和列数
TableLayout特点
特点阐明
android:shrinkColumns答应收缩的列
android:stretchColumns答应拉伸的列
android:collapseColumns答应被躲藏的列
android:layout_column元素特点,所在列
android:layout_span元素特点,跨越列数
Absolutelayout肯定布局管理器以屏幕左上角为左面原点(0,0)
运用图片控件
首要用于显现图片的控件是ImageView.ImageView承继View类,它的子类有ImageButton、QuickContactBadge.
ImageView不但能够显现图片,还能够显现任何Drawable目标。
ImageView常用特点
特点阐明
android:adjustViewBounds是否坚持宽高比,与maxWidth、MaxHeight一起运用
android:maxHeight、android:maxWidth最大宽高,与setAdjustViewlBounds一起运用
android:scaleType图片的缩放形式
android:sre设置View的drawable
ImageView在设置显现内容时能够采用下面4种办法:
voidsetlmageBitmap(Bitmapbm)
voidsetlmageDrawable(Drawabledrawable)
voidsetlmageResource(intresId)
voidsetlmageURI(Uriuri)
ImageButton
图片按钮承继ImageView,其本质是ImageView的特例
数据适配器
数据适配器顾名思义就是把不同格局的数据(数组或调集等)按一致格局填充给控件,使得这些控件在出现数据时不必关心数据的差异性,经常用到的适配器类有ArrayAdapter、SimpleAdapter、SimplaCursorAdapter和BaseAdapter。
ArrayAdapter常用构造办法如下:
ArrayAdapter(Contextcontext,intresource,inttextViewResourceld)
ArrayAdapter(Contextcontext,intresource,T[]objects)
ArrayAdapter(Contextcontext,intresource,inttextViewResourceld,T[]objects)
ArrayAdapter(Contextcontext,intresource,Listobjects)
ArrayAdapter(Contextcontext,intresource,inttextViewResourceld,Listobjects)
参数context指上下文环境。resource是适配器的样式文件,能够运用“R.layout.布局文件”引证项目中的布局文件,运用“android.R.layout.布局文件”引证Android体系中的市局文件。textViewResourceld布局文件中的某个控件ID,适配器中的数据将被设置到诊件。objects是待填充的数据,能够是数组或List调集。数据也能够经过办法addAllg到适配器中。
ListView与ListActivity
ListView是比较常用的一种控件,以垂直列表的办法显现数据。ListView直接承继AbsListView,直接承继AdapterView。
日期和时刻控件
DatePicker和TimePicker都承继FrameLayout类,别离用于挑选日期和时刻。
DatePicker常用特点
特点阐明
android:calendarTextColor日历列表演示
android:calendarViewShown是否显现日历视图
android:datePickerMode日历形式
android:endYear答应挑选的完毕年份
android:startYear运行挑选的开始年份
android:firstDayOfWeek设置周几作为每周的第一天
android:maxDate答应设置的最大日期
android:minDate答应设置的最小日期
子线程凭借Handler修改UI
Handler类坐落android.os包中,其作用是发送和处理Message目标、Runnable目标
————————————————
版权声明:本文为CSDN博主「Newsoul~」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44039347/article/details/91968757

未经允许不得转载:IT技术网站 » Ui界面的两种方式:布局文件和代码
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载