您的位置:首页 > 产品设计 > UI/UE

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项目,删除默认生成的下面这行代码

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里找到
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: