Android学习笔记(9):使用XML文件和Java代码控制UI界面-阿里云开发者社区

开发者社区> 开发与运维> 正文

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文件,前面已经有了简单的介绍,后面也将会有相当多的博客来介绍这方面的内容,这里就先不说了。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章