第三章 软件开发也要拼脸蛋一U开发的点点滴滴 主讲王海
第三章 软件开发也要拼脸蛋—UI开发的点点滴滴 主讲:王海
本章目标 了解Android中的UI元素 能够使用布局管理器对界面进行管理 。 掌握界面交互事件处理机制及实现步骤 能够熟练使用常用的Widgeti简单组件 掌握Dialog对话框的使用 Android软件开发 主讲:王海
Android软件开发 主讲:王海 本章目标 • 了解Android中的UI元素 • 能够使用布局管理器对界面进行管理 • 掌握界面交互事件处理机制及实现步骤 • 能够熟练使用常用的Widget简单组件 • 掌握Dialog对话框的使用
Android UI元素 Android中界面元素: 视图:所有可视界面元素(通常称为控件或小组件)的基类 视图容器:视图类的扩展,其中包含多个子视图 布局管理:管理组件的布局格式,组织界面中组件的呈现方式 Activity:用于为用户呈现窗口或屏幕 Fragment:针对不同屏幕尺寸时,优化UI布局以及创建可重用的UI元 素 Android软件开发 主讲:王海
Android软件开发 主讲:王海 Android UI元素 Android中界面元素: • 视图:所有可视界面元素(通常称为控件或小组件)的基类 • 视图容器:视图类的扩展,其中包含多个子视图 • 布局管理:管理组件的布局格式,组织界面中组件的呈现方式 • Activity:用于为用户呈现窗口或屏幕 • Fragment:针对不同屏幕尺寸时,优化UI布局以及创建可重用的UI元 素
视图 ·View的常见子类 类名 功能描述 TextView 文本视图 EditText 编辑文本框 Button 按钮 Checkbox 复选框 RadioGroup 单选按钮组 Spinner 下拉列表 AutoCompleteTextView 自动完成文本框 DataPicker 日期选择器 TimePicker 时间选择器 DigitalClock 数字时钟 AnalogClock 模拟时钟 ProgessBar 进度条 RatingBar 评分条 SeekBar 搜索条 GridView 网格视图 LsitView 列表视图 ScrollView 滚动视图 Android软件开发 主讲:王海
Android软件开发 主讲:王海 视图 类名 功能描述 TextView 文本视图 EditText 编辑文本框 Button 按钮 Checkbox 复选框 RadioGroup 单选按钮组 Spinner 下拉列表 AutoCompleteTextView 自动完成文本框 DataPicker 日期选择器 TimePicker 时间选择器 DigitalClock 数字时钟 AnalogClock 模拟时钟 ProgessBar 进度条 RatingBar 评分条 SeekBar 搜索条 GridView 网格视图 LsitView 列表视图 ScrollView 滚动视图 • View的常见子类
视图容器 ·ViewGroup类通常作为其他组件的容器使用 ViewGroup ViewGroup View View View View View Android软件开发 主讲:王海
Android软件开发 主讲:王海 视图容器 • ViewGroup类通常作为其他组件的容器使用 ViewGroup ViewGroup View View View View View
ViewGroup类提供的主要方法 类名 功能描述 ViewGroup() 构造方法 void addView(View child) 用于添加子视图,以View作为参数,将该View增加到视图组中 removeView(View view) 将指定的View从视图组中移除 updateViewLayout(View view,ViewGroup.LayoutParams 用于更新某个View的布局 params) void bringChildToFront(View child) 将参数所指定的视图移动到所有视图之前显示 boolean clearChildFocus(View child) 清除参数所指定的视图的焦点 boolean dispatchKeyEvent(KeyEvent event) 将参数所指定的键盘事件分发给当前焦点路径的视图。 boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent 将参数所指定的事件分发给当前焦点路径的视图 event) boolean dispatchSetSelected(boolean selected) 为所有的子视图调用setSelected0方法 ViewGroup继承了View类,虽然可以当成普通的View来使用,但习惯上将ViewGroup当容器来使用。由于 注意 ViewGroup是一个抽象类,在实际应用中通常使用ViewGroup的子类作为容器,例如各种布局管理器。 Android软件开发 主讲:王海
Android软件开发 主讲:王海 类名 功能描述 ViewGroup() 构造方法 void addView(View child) 用于添加子视图,以View作为参数,将该View增加到视图组中 removeView(View view) 将指定的View从视图组中移除 updateViewLayout(View view, ViewGroup.LayoutParams params) 用于更新某个View的布局 void bringChildToFront(View child) 将参数所指定的视图移动到所有视图之前显示 boolean clearChildFocus(View child) 清除参数所指定的视图的焦点 boolean dispatchKeyEvent(KeyEvent event) 将参数所指定的键盘事件分发给当前焦点路径的视图。 boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) 将参数所指定的事件分发给当前焦点路径的视图 boolean dispatchSetSelected(boolean selected) 为所有的子视图调用setSelected()方法 ViewGroup View View ViewGroup ViewGroup ViewGroup ViewGroup类提供的主要方法
ViewGroup继承结构 ViewGroup的继承者大部分位于android.widget包中。 View ViewGroup AdapterView AbsoluteLayout FrameLayout LinearLayout RelativeLayout FragmentBreadCrumbs AbsListView AbsSpinner ScrollView Tabhost TabelLayout RadioGroup TabelRow A GridView ListView Gallery Spinner Android软件开发 主讲:王海
Android软件开发 主讲:王海 ViewGroup继承结构 • ViewGroup的继承者大部分位于android.widget包中。 View ViewGroup AdapterView AbsoluteLayout FrameLayout LinearLayout RelativeLayout FragmentBreadCrumbs AbsListView AbsSpinner ScrollView Tabhost TabelLayout TabelRow GridView ListView Gallery Spinner RadioGroup
布局参数类 在Android布局文件中,每个组件所能使用的XML属性有三类: -组件本身的XML属性 -组件祖先类的XML属性; 一组件所属容器的布局参数。 ViewGroup容器使用两个内部类来控制子组件在其中的分布位置: ViewGroup.LayoutParams ViewGroup.MarginLayoutParams XML属性 功能描述 android:layout_width 设定该组件的子组件布局的宽度 android:layout_height 设定该组件的子组件布局的高度 Android软件开发 主讲:王海
Android软件开发 主讲:王海 布局参数类 在Android布局文件中,每个组件所能使用的XML属性有三类: – 组件本身的XML属性; – 组件祖先类的XML属性; – 组件所属容器的布局参数。 ViewGroup容器使用两个内部类来控制子组件在其中的分布位置: – ViewGroup.LayoutParams – ViewGroup.MarginLayoutParams XML属性 功能描述 android:layout_width 设定该组件的子组件布局的宽度 android:layout_height 设定该组件的子组件布局的高度
布局参数类 ·ViewGroup.MarginLayoutParams用于控制子组件周围的页边距 XML属性 功能描述 android:layout_marginTop 指定该子组件上面的页边距 android:layout marginRight 指定该子组件右面的页边距 android:layout marginBottom 指定该子组件下面的页边距 android:layout marginLeft 指定该子组件左面的页边距 由于LayoutParams-也具有继承关系,因此LinearLayout的子类除了可以使用 LinearLayout..LayoutParams)所提供的XML属性外,还可以使用其祖先类 注意 ViewGroup.LayoutParams的XML属性。 Android软件开发 主讲:王海
Android软件开发 主讲:王海 LayoutParams LinearLayout LinearLayout.LayoutParams XML ViewGroup.LayoutParams XML XML属性 功能描述 android:layout_marginTop 指定该子组件上面的页边距 android:layout_marginRight 指定该子组件右面的页边距 android:layout_marginBottom 指定该子组件下面的页边距 android:layout_marginLeft 指定该子组件左面的页边距 • ViewGroup.MarginLayoutParams用于控制子组件周围的页边距
布局管理 View 布局管理器可以根据运行平 台来调整组件的大小 ViewGroup AbsoluteLayout GridView 所有的布局管理器都是 ViewGroupl的子类 LinearLayout FrameLayout RelativeLayout TableLayout Android软件开发 主讲:王海
Android软件开发 主讲:王海 布局管理 • 布局管理器可以根据运行平 台来调整组件的大小 • 所有的布局管理器都是 ViewGroup的子类 View AbsoluteLayout ViewGroup GridView RelativeLayout LinearLayout TableLayout FrameLayout