Android学习笔记(9):使用XML文件和Java代码控制UI界面

简介:

Android推荐使用XML文件设置UI界面,然后用Java代码控制逻辑部分,这体现了MVC思想。

 

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

 

我们可以在app\src\main\res\layout目录下定义一个XML文件(R.java文件会自动收录该资源),然后可以在Java代码的Activity组件中通过setContentView(R.layout.<资源文件名字>)显示出来。

 

XML文件中添加组件的时候,可以为组件指定android:id属性,然后就可以在Java代码中通过findViewById(R.id.<android:id属性>)访问该组件。

 

当然android也支持完全使用Java代码设置UI界面,实现类似于Swing,下面是一个简单的例子:

package zxc.blogtest;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout layout = new LinearLayout(this);
        super.setContentView(layout);
        layout.setOrientation(LinearLayout.VERTICAL);
        final TextView show = new TextView(this);
        Button bn = new Button(this);
        show.setText("HelloWorld");
        bn.setText("Button");
        layout.addView(show);
        layout.addView(bn);
    }
}

 

创建组件时传入的this是一个Context参数,这是Activity和Service的基类,传入的参数可以让UI组件获取到Android的全局变量。

 

这种设置UI界面的方式非常不优美,而且和其他的逻辑代码放在一起会让人觉得很混乱,非常不推荐。

关于XML文件,前面已经有了简单的介绍,后面也将会有相当多的博客来介绍这方面的内容,这里就先不说了。

 

目录
相关文章
|
4天前
|
Android开发 算法 架构师
android的基础ui组件,这些知识点你会吗
android的基础ui组件,这些知识点你会吗
android的基础ui组件,这些知识点你会吗
|
4天前
|
Android开发 缓存 双11
android的基础ui组件,Android开发社招面试经验
android的基础ui组件,Android开发社招面试经验
android的基础ui组件,Android开发社招面试经验
|
5天前
|
Java Android开发
java利用xml-rpc协议操作wordpress博客
java利用xml-rpc协议操作wordpress博客
12 1
|
5天前
|
安全 Linux Nacos
如何使用公网地址远程访问内网Nacos UI界面查看注册服务
如何使用公网地址远程访问内网Nacos UI界面查看注册服务
25 0
|
3天前
|
存储 设计模式 监控
88 PM撸代码之【Android四大基本组件】
88 PM撸代码之【Android四大基本组件】
9 0
|
3天前
|
Java Android开发
82 PM撸代码之Android【绝顶高手排行榜】
82 PM撸代码之Android【绝顶高手排行榜】
6 0
|
3天前
|
达摩院 安全 Java
80 PM撸代码之Android【武侠讲封装、继承、多态】
80 PM撸代码之Android【武侠讲封装、继承、多态】
8 0
|
3天前
|
算法 Java BI
79 PM撸代码之Android【武侠篇:面向对象基础】
79 PM撸代码之Android【武侠篇:面向对象基础】
7 0
|
3天前
|
XML 编解码 算法
76 PM撸代码之Android【宏观篇】
76 PM撸代码之Android【宏观篇】
8 0
|
5天前
|
编解码 C++
Qt第一课 第一个ui界面
Qt第一课 第一个ui界面
12 2

热门文章

最新文章