android 程式开发:(十)绘制用户界面 —— 10.1通过纯编码实现UI
来源:互联网 发布:图片大小批处理软件 编辑:程序博客网 时间:2024/06/06 00:08
到目前为止,在所有的章节中,我们所看见的UI都是通过XML来实现的。之前也提及过,除了使用XML,也可以使用代码来实现UI界面。这个方式是很有用的,比如你的UI需要在运行时被生成。举个例子,假设你在编写一个“电影票的预定系统”,你的程序使用按钮Buttons去显示每个电影院的座位。在这种情况下,你就会需要依据实际情况去动态地生成UI。
下面的例子将会展示如何通过编码,动态地在Activity中生成UI。
1、创建一个工程:UICode。
2、UICodeActivity.java中的代码。
- public class UICodeActivityextends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //setContentView(R.layout.main);
- // 视图的参数
- LayoutParams params =
- new LinearLayout.LayoutParams(
- LayoutParams.FILL_PARENT,
- LayoutParams.WRAP_CONTENT);
- // 创建布局
- LinearLayout layout = new LinearLayout(this);
- layout.setOrientation(LinearLayout.VERTICAL);
- // 创建一个TextView
- TextView tv = new TextView(this);
- tv.setText("This is a TextView");
- tv.setLayoutParams(params);
- // 创建一个Button
- Button btn = new Button(this);
- btn.setText("This is a Button");
- btn.setLayoutParams(params);
- // 向布局中添加TextView
- layout.addView(tv);
- // 向布局中添加Button
- layout.addView(btn);
- // 创建布局使用的属性
- LinearLayout.LayoutParams layoutParam =
- new LinearLayout.LayoutParams(
- LayoutParams.FILL_PARENT,
- LayoutParams.WRAP_CONTENT );
- this.addContentView(layout, layoutParam);
- }
- }
3、按F11调试,效果图如下。
在这个例子中,首先要把setContentView()方法注释掉,目的是不让Activity去加载main.xml中的UI视图。
然后,创建一个LayoutParams对象,这个对象指定了布局的属性。
- LayoutParams params =
- new LinearLayout.LayoutParams(
- LayoutParams.FILL_PARENT,
- LayoutParams.WRAP_CONTENT);
- LinearLayout layout = new LinearLayout(this);
- layout.setOrientation(LinearLayout.VERTICAL);
- TextView tv = new TextView(this);
- tv.setText("This is a TextView");
- tv.setLayoutParams(params);
- Button btn = new Button(this);
- btn.setText("This is a Button");
- btn.setLayoutParams(params);
- layout.addView(tv);
- layout.addView(btn);
- LinearLayout.LayoutParams layoutParam =
- new LinearLayout.LayoutParams(
- LayoutParams.FILL_PARENT,
- LayoutParams.WRAP_CONTENT );
- this.addContentView(layout, layoutParam);
- android 程式开发:(十)绘制用户界面 —— 10.1通过纯编码实现UI
- 【Android 开发教程】纯编码实现UI
- Android 程式开发:(十一)监听UI事件 —— 11.1重写Activity中的方法
- Android 程式开发:(十一)监听UI事件 —— 11.2为view注册监听
- Android 程式开发:(十二)最基本的UI控件 —— 12.3ProgressBar
- Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh)
- Android UI开发第二十一篇——下拉刷新列表实现(pull to refresh)
- Android UI用户界面开发辅助工具
- Android开发指南-用户界面-绘制视图
- Android——UI(一):UI绘制流程
- Android UI用户界面开发辅助工具(值得一试)
- Android UI用户界面开发辅助工具(值得一试)
- Android用户界面基础之使用编码方式绘制登录界面
- Android通过代码来绘制UI界面
- android 用户界面和视图绘制(一)
- android 用户界面和视图绘制(二)
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(一)
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(二)
- vi编辑器的文字说明
- Android培训班(103)内核入口汇编3
- 十大著名黑客-----查德-斯德尔曼
- PSNR(Peak Signalto Noise Ratio):峰值信噪比
- 海明纠错码的计算方法
- android 程式开发:(十)绘制用户界面 —— 10.1通过纯编码实现UI
- 第一章 计算机、程序和Java概述 编程练习题解答
- (12)java5的CountDownLatch、Exchanger同步工具
- xwork的源代码下载地址
- 瀑布流布局简单应用
- 【转】mysql触发器的实战经验
- hibernate配置一对多关系
- jquery validate 详解
- 用java实现的坦克大战