Android推荐使用XML文件设置UI界面。然后用Java代码控制逻辑部分,这体现了MVC思想。
MVC全名是Model View Controller。是模型(model)-视图(view)-控制器(controller)的缩写。一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面。在改进和个性化定制界面及用户交互的同一时候,不须要又一次编写业务逻辑。
我们能够在appsrcmain eslayout文件夹下定义一个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文件。前面已经有了简单的介绍,后面也将会有相当多的博客来介绍这方面的内容,这里就先不说了。