在代码中控制UI界面简单例子.docx
- 文档编号:8245538
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:4
- 大小:52.39KB
在代码中控制UI界面简单例子.docx
《在代码中控制UI界面简单例子.docx》由会员分享,可在线阅读,更多相关《在代码中控制UI界面简单例子.docx(4页珍藏版)》请在冰豆网上搜索。
在代码中控制UI界面简单例子
在代码中控制UI界面(简单例子)
在代码中控制UI界面
在Android中,支持像JavaSwing那样完全通过代码控制UI界面。
也就是所有的UI组件都通过new关键字创建出来,然后将这些UI组件添加到布局管理器中,从而实现用户界面。
在代码中控制UI界面可以分为以下3个关键步骤。
(1)创建布局管理器,可以是帧布局管理器、表格布局管理器、线性布局管理器和相对布局管理器等,并且设置布局管理器的属性。
例如,为布局管理器设置背景图片等。
(2)创建具体的组件,可以是TextView、ImageView、EditText和Button等任何Android提供的组件,并且设置组件的布局和各种属性。
(3)将创建的具体组件添加到布局管理器中。
下面将通过一个具体的例子来演示如何使用Java代码控制UI界面。
【例】在Eclipse中创建Android项目,名称为3.2,完全通过代码实现游戏的进入界面。
(1)在新创建的项目中,打开src/com/mingrisoft目录下的MainActivity.java文件,然后将默认生成的下面这行代码删除。
setContentView(R.layout.main);
(2)在MainActivity的onCreate()方法中,创建一个帧布局管理器,并为该布局管理器设置背景,关键代码如下:
1.FrameLayoutframeLayout=newFrameLayout(this);//创建帧布局管理器
2.frameLayout.setBackgroundDrawable(this.getResources().getDrawable(
3.R.drawable.background01));//设置背景
4.setContentView(frameLayout);//设置在Activity中显示frameLayout
(3)创建一个TextView组件text1,设置其文字大小和颜色,并将其添加到布局管理器中,具体代码如下:
1.TextViewtext1=newTextView(this);
2.text1.setText("在代码中控制UI界面");//设置显示的文字
3.text1.setTextSize(TypedValue.COMPLEX_UNIT_PX,24);//设置文字大小,单位为像素
4.text1.setTextColor(Color.rgb(1,1,1));//设置文字的颜色
5.frameLayout.addView(text1);//将text1添加到布局管理器中
(4)声明一个TextView组件text2,因为在为该组件添加的事件监听中,要通过代码改变该组件的值,所以需要将其设置为MainActivity的一个属性,关键代码如下:
1.publicTextViewtext2;
(5)实例化text2组件,设置其显示文字、文字大小、颜色和布局,具体代码如下:
1.text2=newTextView(this);
2.text2.setText("单击进入游戏......");//设置显示文字
3.text2.setTextSize(TypedValue.COMPLEX_UNIT_PX,24);//设置文字大小,单位为像素
4.text2.setTextColor(Color.rgb(1,1,1));//设置文字的颜色
5.LayoutParamsparams=newLayoutParams(
6.ViewGroup.LayoutParams.WRAP_CONTENT,
7.ViewGroup.LayoutParams.WRAP_CONTENT);//创建保存布局参数的对象
8.params.gravity=Gravity.CENTER;//设置居中显示
9.text2.setLayoutParams(params);//设置布局参数
注意:
在我做这个的时候,上面第5,6,7,8行的代码编写没有达到预期的效果,主要问题是“单击进入游戏......”并没有居屏幕的中间显示,经过多次的实验分析,将5,6,7,8行改成:
5.FrameLayout.LayoutParamsparams=newFrameLayout.LayoutParams(
6.ViewGroup.LayoutParams.WRAP_CONTENT,
7.ViewGroup.LayoutParams.WRAP_CONTENT);
8.params.gravity=Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL;
(或params.gravity=Gravity.CENTER;也是可以的)。
便成功达到预期的效果。
说明:
在通过setTextSize()方法设置TextView的文字大小时,可以指定使用的单位,在上面的代码中,int型的常量TypedValue.COMPLEX_UNIT_PX表示单位是像素,如果要设置单位是磅,可以使用常量TypedValue.COMPLEX_UNIT_PT,这些常量可以在Android官方提供的API中找到。
(6)为text2组件添加单击事件监听器,并将该组件添加到布局管理器中,具体代码如下:
代码位置:
光盘\mr\example\第3章\3.2\src\com\mingrisoft\MainActivity.java
1.text2.setOnClickListener(newOnClickListener(){//为text2添加单击事件监听器
2.
3.@Override
4.publicvoidonClick(Viewv){
5.newAlertDialog.Builder(MainActivity.this).setTitle("系统提示")//设置对话框的标题
6..setMessage("游戏有风险,进入需谨慎,真的要进入吗?
")//设置对话框的显示内容
7..setPositiveButton("确定",//为确定按钮添加单击事件
8.
9.finish();//结束游戏
10.}
11.}).show();//显示对话框
12.}
13.});
14.frameLayout.addView(text2);//将text2添加到布局管理器中
运行本实例,将显示如图3.2所示的运行结果。
单击文字“单击进入游戏……”,将弹出如图3.3所示的提示对话框。
试一试:
根据以上程序,制作一个靠窗体底部居中显示开始链接的游戏开始界面。
提示:
通过Java代码将LayoutParams对象的gravity属性设置为Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL即可。
说明:
完全通过代码控制UI界面,虽然该方法比较灵活,但是其开发过程比较烦琐,而且不利于高层次的解耦,因此不推荐采用这种方式控制UI界面。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 代码 控制 UI 界面 简单 例子