Android UI

Android UI的重要概念

Android UI 的最重要的三个概念,Activity、View、Layout

下面对这三个概念作一个初步的理解,先浅尝辄止。这样做的目的是先了解一下这些概念,从总体上对这些概念有一个把握和串通,方便后面的学习。

(一)Activity

1.Activity启动流程

一个应用程序至少有一个Activity。且必须有一个默认的启动Activity。

Android应用程序启动的流程如下:

技术分享

 

首先,Android操作系统会去访问你的应用程序中的AndroidManifest.xml这个文件,决定启动哪一个Activity。启动默认的Activity之后,会生成这个Activity的对象,一般情况下是MainActivity。生成这个对象后,会去调用这个对象的onCreat方法。然后在onCreate方法里去读取layout目录下的activity_main.xml布局文件,来决定在应用程序里显示什么内容。

技术分享

2.Activity与布局文件

我们可以在布局文件里修改文字显示的样式,比如

 1 android:textSize="80px" 2 android:background="#FF0000" 

所有在res里的文件都会在gen目录里R.java这个文件里生成ID,布局文件也有它的ID。

1 public static final class layout {
2         public static final int activity_main=0x7f030000;
3 }

 R.layout.activity_main就代表这个布局文件

然后在activity的onCreate函数中

1 protected void onCreate(Bundle savedInstanceState) {
2         super.onCreate(savedInstanceState);
3        setContentView(R.layout.activity_main);
4 }

setContentView就是显示布局文件的内容。

3.在Activity中获取代表控件的对象

为了满足动态显示的需要,写死在布局文件里的控件显然是不行的。

因此我们用代码取代布局,如图所示。这样就可以动态的控制控件的样式。

技术分享

 下面这行就是获取代表控件的对象:

1 TextView textView = (TextView)findViewById(R.id.textView);

这涉及到View对象,下面就开始介绍View。

(二)View

1.什么是View

View就是控件。如下图:

技术分享

 

每一种控件都对应有一个类,View是所有控件的父类。

2.在Activity中获取代表View的对象

首先,我们需要在layout文件里给控件加上一个唯一的ID:

1 android:id="@+id/textView"

然后,在Activity里声明这个控件:

1 private TextView textView;

注:这里需要引用textView所在的包

 1 import android.widget.TextView; 

在Activity的函数里用findViewById获取这个View,由于findViewById函数的返回类型是View,所以需要向下转型为TextView:

注:这里不是生成对象,只是找到这个对象,对象的生成是由布局文件完成的。

1 textView = (TextView)findViewById(R.id.textView);

3.设置View的属性

转型完毕以后可以在Activity中对这个控件进行修改,控制它的属性。例如:

1 textView.setText(“hello world”);
2 textView.setBackgroundColor(Color.BLUE);

在布局里能做到的事情绝大部分代码里也能做到。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。