Android界面设计的4种方式之二——在Java代码中控制UI界面
2016-01-15 21:23
513 查看
用户界面设计是Android应用开发中最基本也是最重要的内容,在设计用户界面时,首先需要了解界面中的UI元素如何呈现给用户,也就是如何控制UI界面。在Android中提供了4种控制UI界面的方法,下面分别进行介绍。
Android界面概述
在Android中,所有的UI界面都是由View类和ViewGroup类及其子类组合而成的,其中,View类是所有组件的基类,它是Android平台中用户界面体现的基础单位,它提供了像流式布局、表格布局之类的布局架构,而且ViewGroup类中,除了可以包含普通的View类之外,还可以再次包含ViewGroup类。
在Java代码中控制UI界面,在Android中支持像Java Swing那样完全通过代码控制UI界面,也就是所有的UI组件都通过new关键字创建出来,然后将这些组件添加到布局管理器中,从而实现用户界面。
在代码中控制UI界面可以分为以下三个步骤。
1, 创建布局管理器,可以是帧布局、表格布局、线性布局,并且设置布局管理器的的属性,例如,为布局管理器设置背景图片等。
2, 创建具体的组件,可以是TextView、ImageView、EditText和Button等任何Android提供的组件,并且设置组件的布局和各种属性
3, 将创建的具体组件添加到布局管理器中。
下面通过一个具体实例来演示如何使用Java代码实现程序的进入界面。
Step1,创建一个Android项目,删除默认生成的下面这行代码
Step2,在MainActivity的onCreate()方法中,创建一个帧布局管理器,并为该布局管理器设置背景,关键代码如下
Step3,创建一个TextView组件text1,设置其文字大小和颜色,并将其添加到布局管理器中,具体代码如下
Step4,创建一个TextView组件text1,设置其文字大小、颜色和布局,将其添加到布局管理器中,具体代码如下
说明:在设定文字大小时,可以指定使用的单位,在上面代码中,int型的常量TypedValue.COMPLEX_UNIT_PX表示单位是像素,如果要设置单位是磅,可以使用常量TypedValue.COMPLEX_UNIT_PT,这些常量可以在Android的API里找到
Android界面概述
在Android中,所有的UI界面都是由View类和ViewGroup类及其子类组合而成的,其中,View类是所有组件的基类,它是Android平台中用户界面体现的基础单位,它提供了像流式布局、表格布局之类的布局架构,而且ViewGroup类中,除了可以包含普通的View类之外,还可以再次包含ViewGroup类。
在Java代码中控制UI界面,在Android中支持像Java Swing那样完全通过代码控制UI界面,也就是所有的UI组件都通过new关键字创建出来,然后将这些组件添加到布局管理器中,从而实现用户界面。
在代码中控制UI界面可以分为以下三个步骤。
1, 创建布局管理器,可以是帧布局、表格布局、线性布局,并且设置布局管理器的的属性,例如,为布局管理器设置背景图片等。
2, 创建具体的组件,可以是TextView、ImageView、EditText和Button等任何Android提供的组件,并且设置组件的布局和各种属性
3, 将创建的具体组件添加到布局管理器中。
下面通过一个具体实例来演示如何使用Java代码实现程序的进入界面。
Step1,创建一个Android项目,删除默认生成的下面这行代码
setContentView(R.layout.activity_main);
Step2,在MainActivity的onCreate()方法中,创建一个帧布局管理器,并为该布局管理器设置背景,关键代码如下
FrameLayout frameLayout=new FrameLayout(this);//创建帧布局管理器 frameLayout.setBackground(this.getResources().getDrawable(R.drawable.ic_launcher));//设置背景 setContentView(frameLayout);//设置在Activity中显示的frameLayout
Step3,创建一个TextView组件text1,设置其文字大小和颜色,并将其添加到布局管理器中,具体代码如下
TextView text1=new TextView(this); text1.setText("在JAVA代码中控制UI界面");//设置显示文字 text1.setTextSize(TypedValue.COMPLEX_UNIT_PX,20);//设置文字大小,单位为像素 text1.setTextColor(Color.rgb(100, 100, 100));//设置文字的颜色 frameLayout.addView(text1);//将text1添加到布局管理器中
Step4,创建一个TextView组件text1,设置其文字大小、颜色和布局,将其添加到布局管理器中,具体代码如下
TextView text2=new TextView(this); text2.setText("程序正在载入......");//设置显示文字 text2.setTextSize(TypedValue.COMPLEX_UNIT_PX,20);//设置文字大小,单位为像素 text2.setTextColor(Color.rgb(200, 200, 100));//设置文字的颜色 LayoutParams params=new LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);//创建保存布局参数的对象 params.gravity=Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL;//设置剧中显示 text2.setLayoutParams(params);//设置布局参数 frameLayout.addView(text2);
说明:在设定文字大小时,可以指定使用的单位,在上面代码中,int型的常量TypedValue.COMPLEX_UNIT_PX表示单位是像素,如果要设置单位是磅,可以使用常量TypedValue.COMPLEX_UNIT_PT,这些常量可以在Android的API里找到
相关文章推荐
- 【leetcode】100. Same Tree My Submissions Question
- query specified join fetching, but the owner of the fetched association was not present in the select list
- Android开发出现Warning:Gradle version 2.10 is required. Current version is 2.8. If u
- 【Codeforces 570D 】Tree Requests dfs序+二分
- iOS 【关于几个常用UIColor宏定义】
- Animation动画详解(四)——ValueAnimator基本使用
- 【UEditor】百度UE富文本自定义按钮添加文本
- Android UI之ImageSwitcher && TextSwitcher 实现图文翻页
- Django+Query
- Dissecting Message Queues(不同消息中间件Throughput和latency
- Java对象的强、软、弱和虚引用原理+结合ReferenceQueue对象构造Java对象的高速缓存器
- easyui 自定义验证,动态设置提示信息
- EasyUI 1.3.6 DateBox添加清空按钮
- KVC中setValuesForKeysWithDictionary用法
- easyui datagrid 表格组件列属性formatter和styler使用方法
- UI相关
- AFNetWorking 请求数据报”Request failed: unacceptable content-type: text/plain” 错误解决方法
- 初识Android的界面UI
- UI课程(TabBarController)
- UINavigationController从右边缘也可滑动返回