Android应用的界面编程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Activity
Activity是一个应用组件,它为应用 程序的用户界面提供了一个窗口。 一个应用程序可包含多个Activity, 其 中有一个main activity,当运行程序 时首先启动它。 Activity是一个类,继承自Activity类 每一个Activity都要在 AndroidManifest.xml文件当中注册
根据对齐方式把组件一个一个叠在一 起
2.2.4 AbsoluteLayout
通过X,Y坐标来控制组件位置 layout_x layout_y px :像素 dp(dip): 设备独立像素 pt :磅 AbsoluteLayout is deprecated.
2.2.5 RelativeLayout
Android 手机开发
第2章 Android 应用的界面编程
第2章 Android 应用的界面编程
Android程序界面与View组件 Android 控制程序界面的三种方式 布局管理器 常见组件的使用方法 部分高级组件介绍
布局管理
ViewGroup、 xxxLayout、 Button、 TextView、 ImageView等都 是UI组件; xxxLayout又可 以作为容器使用。
android:layout_centerHorizontal
该控件在父控件中水平居中
android:layout_centerInParent
该控件在父控件中水平垂直居中
android:layout_centerVertical
该控件在父控件中垂直居中
2.3.1 TextView & EditText
ViewGroup
Absolute Layout
Linear Layout
Frame Layout
Relative Layout
Table Layout
2.2.1 LinearLayout
将组件按照水平或垂直方向排列 orientation [setOritation(int) ] gravity [setGravity(int) ] layout_width [ LayoutParams ] layout_height layout_weight
datePicker.init(year, month, day, new OnDateChangedListener(){})
最后一个参数可以为null
timePicker. setOnTimeChangedListener()
2.4.4 ProgressBar(1)
max (默认为100) progress style= @android:style/Widget.progressbar.horiz ontal setProgress(int) incrementProgressBy(int ) 显示在标题上的进度条
在界面布局中定义选项卡的内容 Activity继承自TabActivity 调用getTabHost()方法获取TabHost对象 创建并添加选项卡
2.4.7 TabHost
Tab标签页是界面设计时 经常使用的界面控件,可 以实现多个分页之间的快 速切换,每个分页可以显 示不同的内容 下图是Android系统内置 的Tab标签页,点击“呼 出/接听键”后出现,用 于电话呼出和查看拨号记 录、联系人
设置该控件的上端与给定控件的上端对齐
android:layout_alignBottom
设置该控件的底端与给定控件的底端对齐
android:layout_alignBaseline
将该控件的基线设置为给定控件的基线
2.2.5 RelativeLayout(true)
android:layout_alignParentLeft
容器内子组件由相对于兄弟组件、父容器 的位置来确定 android:layout_above
将该控件的底端置于给定控件的上端
android:layout_below
将该控件的上端置于给定控件的下端
android:layout_toLeftOf
将该控件的右端置于给定控件的左端
android:layout_toRightOf
2.2.2 TableLayout
派生自LinearLayout 向每一行中添加组件 每一行上可放置数量不同的组件 android:collapse android:shrink android:stretch
2.2.2 Layout的嵌套
layout_weight
2.2.3 FrameLayout
TextView 及其派生类 autoLink, cusorVisible drawableBottom, drawableTop, drawableLeft, drawableRight, drawablePadding editable, ellipsize, gravity, height, width minHeight, minWidth, maxHeight, maxWidth hint, selectAllOnFoucus lines, minLines, maxLines, singleLine
tab1.xml文件代码
1. <?xml version="1.0" encoding="utf-8"?> 2. <LinearLayout android:id = "@+id/layout01" 3. „„ 4. „„ 5. </LinearLayout> 1. <?xml version="1.0" encoding="utf-8"?> 2. <AbsoluteLayout android:id="@+id/layout02" 3. „„ 4. „„ 5. </AbsoluteLayout> 1.<?xml version="1.0" encoding="utf-8"?> 2.<RelativeLayout android:id="@+id/layout03" 3. „„ 4. „„ 5.</RelativeLayout>
将该控件的左端置于给定控件的右端
2.2.5 RelativeLayout
android:layout_alignLeft
设置该控件的左端与给定控件的左端对齐
android:layout_alignRight
设置该控件的左端与给定控件的右端对齐
android:layout_alignTop
Bitmap, BitmapDrawable
2.4.1 AutoCompleteTextView(1)
派生自EditText completionHint completionThreshold dropDownHeight dropDownHorizontalOffset dropDownWidth dropDownBackground
2.4.7 TabHost
Tab标签页的使用
• 首先要设计所有的分页的界面布局 • 在分页设计完成后,使用代码建立Tab标签页 ( TabActivity ),并给每个分页添加标识和标题
每个分页建立一个XML文件,用以编辑和保存分 页的界面布局,使用的方法与设计普通用户界面没 有什么区别
2.4.7 TabHost
建立一个“TabDemo”程序,包含三个XML文件, 分别为tab1.xml、tab2.xml和tab3.xml,这3个文 件分别使用线性布局、相对布局和绝对布局示例中 的main.xml的代码,并将布局的ID分别定义为 layout01、layout02和layout03
2.4.7 TabHost
2.3.1 TextView & EditText
password, phoneNumber scrollhorizontally shadowColor, shadowDx, shadowDy, shadowRadius, text, textColor, textColorHilight, textSize, textScalX, textStyle, typeface 带图片和边框的TextView 用户友好的输入界面
该控件与父控件的左端对齐
android:layout_alignParentRight
该控件与父控件的右端对齐
android:layout_alignParentTop
该控件与父控件的顶端对齐
android:layout_alignParentBottom
该控件与父控件的底端对齐
2.2.5 RelativeLayout(true)
2.3.6 AnalogClock & DigitalClock
可以使用TextView的属性 Chronometer
setBase(long) setFormat(String) start() stop() setOnchronometerTickListener()
2.4.2 SPinner
prompt entries 自定义列表项,需要定义一个Adapter BaseApdater: 实现了ListView和 SpinnerView接口 需要复写getCount()和getView方法
2.4.3 DatePicker & TimePicker
requestWindowFeature(Window.FEATURE_PROGRESS)
2.4.4 ProgressBar(2)
Handler: 用于发送和处理消息,或者 关联着一个线程的消息队列的 Runnable 对象。 每个Handler实例都关联一个线程和 那个线程的消息对列 sendMessage(), handleMessage()
2.3.2 Button & ImageButton
普通按钮:
text background
图片按钮(不能显示文字)
src
显示不同图片的按钮 带文字的图片按钮 Draw9patch
2.3.4 RadioButton & CheckBox
RadioButton: 放置在RadioGroup中 使用 android:checked 绑定监听器 ToggleButton
2.1 Android 控制程序界面的三种方式
在Java代码中开发UI界面
setContentView()
使用XML布局文件控制UI界面
google 推荐 findViewById()
混合使用XML布局文件和Java代码
复杂界面中常用
2.2 XML 布局管理 view
2.4.4 ProgressBar(3)
setVisibility()
View. VISIBLE View. INVISIBLE View.GONE
2.4.5 SeekBar
ห้องสมุดไป่ตู้
thumb :自定义滑块图片 max: 最大值 progress:进度值 OnSeekChangeListener
2.4.1 AutoCompleteTextView(2)
Adapter: Adapter是将数据绑定到UI界面 上的桥接类。Adapter负责创建显示每个项 目的子View和提供对下层数据的访问。 ArrayAdapter 是一个绑定View到一组对 象的通用类。 public ArrayAdapter<T> (Context context, int textViewResourceId, T[] objects)
2.3.7 ImageView
src maxWidth, maxHeight adjustViewBounds scaleType
matrix, fitXY, fitStart, fitCenter, fitEnd, Center, centerCrop, centerInside
2.4.6 RatingBar
isIndicator numStars rating stepSize progress
2.4.7 TabHost
TabHost是一个容器,在里面放置组件 newTabSpec(String) addTab(TabHost) 步骤: