界面布局与常用资源使用
2016-02-22 19:07
218 查看
用户界面UI一般由一组继承自View基类的某个可视化控件和ViewGroup构成。基类View提供了控件绘制和事件处理的基本方法,某个View对象的属性存储了屏幕上一个特定区域的布局参数和内容。
View和viewGroup的关系:
1,组件的ID属性:
如新建了一个Button组件,可在XML中采用如下方式为其分配ID号:android:id=“@+id/my_button”。
ID可用于在Java代码中引用相应的控件。“@”表示XML解析器应该解析ID字符串并把它作为ID资源;“+”表示这是一个新的资源名字,它被创建后应加入到资源文件R.java中。findViewById()取得布局上元素的句柄(前提是已经在布局Layout文件中设置好相应元素的ID)。
2,尺寸参数:
尺寸参数是指诸如layout_height、layout_width等,如:android:layout_width=“fill_parent”。在表示尺寸时可用确定的数字(如50px),也可以采用参数fill_parent或者wrap_content。
部分XML布局组件标记及布局属性
Android 部分布局属性
3,布局及其加载:
在开发Android应用程序时,用户界面UI是系统和用户之间进行交互的窗口,Activity则是UI容器。
Android中的布局管理一般要在XML中进行规划和设计。布局方式如下几种:
有线性布局(Linear Layout)
相对布局(Relative Layout)
表格布局(Table Layout)
网格视图(Grid View)
标签布局(Tab Layout)
列表视图(List View)
绝对布局(AbsoluteLayout)
帧布局(FrameLayout)
两种创建布局的方式:方式1:在XML文件(一般是main.xml,也可自定义XML文件)中声明布局方式。在Java程序中通过setContentView( )方法呈现视图,此时一般不需编写很多的Java代码,优点是直观、简洁,实现了UI界面和Java逻辑代码的分离。方式2:在Java程序中通过代码直接实例化布局及其组件。这种方法不用XML布局,但往往可读性差,且数据的直观表现和逻辑处理纠缠在一起,往往显得程序比较复杂。
View和viewGroup的关系:
1,组件的ID属性:
如新建了一个Button组件,可在XML中采用如下方式为其分配ID号:android:id=“@+id/my_button”。
ID可用于在Java代码中引用相应的控件。“@”表示XML解析器应该解析ID字符串并把它作为ID资源;“+”表示这是一个新的资源名字,它被创建后应加入到资源文件R.java中。findViewById()取得布局上元素的句柄(前提是已经在布局Layout文件中设置好相应元素的ID)。
2,尺寸参数:
尺寸参数是指诸如layout_height、layout_width等,如:android:layout_width=“fill_parent”。在表示尺寸时可用确定的数字(如50px),也可以采用参数fill_parent或者wrap_content。
部分XML布局组件标记及布局属性
Android 部分布局属性
3,布局及其加载:
在开发Android应用程序时,用户界面UI是系统和用户之间进行交互的窗口,Activity则是UI容器。
Android中的布局管理一般要在XML中进行规划和设计。布局方式如下几种:
有线性布局(Linear Layout)
相对布局(Relative Layout)
表格布局(Table Layout)
网格视图(Grid View)
标签布局(Tab Layout)
列表视图(List View)
绝对布局(AbsoluteLayout)
帧布局(FrameLayout)
两种创建布局的方式:方式1:在XML文件(一般是main.xml,也可自定义XML文件)中声明布局方式。在Java程序中通过setContentView( )方法呈现视图,此时一般不需编写很多的Java代码,优点是直观、简洁,实现了UI界面和Java逻辑代码的分离。方式2:在Java程序中通过代码直接实例化布局及其组件。这种方法不用XML布局,但往往可读性差,且数据的直观表现和逻辑处理纠缠在一起,往往显得程序比较复杂。
相关文章推荐
- iOS蓝牙开发(二):iOS连接外设的代码实现
- 经典dfs(depth-first search)
- java 四舍五入保留小数
- Candy
- [BZOJ 1492]货币兑换Cash
- c++ 排序算法总结
- Android 启动时间优化 <22>
- HDOJ-1081 To The Max
- iOS蓝牙开发(一)蓝牙相关基础知识
- c++ 排序算法总结
- ps切图(5)——图层原理及其操作
- database export import
- uva 10720 Graph Construction
- dstat系统分析工具的使用
- LeetCode 94. Binary Tree Inorder Traversal
- jQuery和ExtJS的timeOut超时问题和event事件处理问题
- install wine on ubuntu
- 谁有(爱普生R290维修程序)
- 给大一学生:让积累说话
- mySQL相关函数的使用