Android 界面编程

来源:互联网 发布:手机淘宝网店 编辑:程序博客网 时间:2024/06/07 16:09

前言

Android提供了大量的丰富功能的UI组件,我们只需要像搭乐高积木那样,就可以组件出图形界面,当然如果是一些特殊的效果就需要我们自定义去实现了,关于自定义控件,以后再做介绍

View组件

Android应用绝大部分UI组件都放在了 android.widget 包以及子包、android.view包以及子包,Android中所有的UI组件都继承了View类,类似 Swing中的 JPanel代表一个空白的矩形矩形区域,我们在界面开发中如果要实现一条分割线的效果,如果没有图片直接可以使用View 的高度或是宽度为1dp来实现View还有个重要的子类 ViewGroup,ViewGroup作为其他组件的容器来使用,Android中我们用到的组件都是建立在 View、ViewGroup基础之上的。Android采用 组合器 的设计模式来设计View 和 ViewGroup ,ViewGroup 作为一个容器来保存其他组件,当然还可以包含普通的 View组件和 ViewGroup组件,也就相当于一个容器Android推荐使用XML的布局文件来定义用户界面,而不是使用Java代码,当然也不是不可以,因此所有的组件都是提供了2中控制组件的行为,我们不管使用哪种方式,实质还是一样的,类似 Servlet 和 JSP*  在XML布局中通过XML属性来控制*  在Java代码中通过调用方法来进行控制View作为UI组件的基类,它包含的属性和方法也是所有组件类都可以使用,有关View类常见的XML属性和方法,可以参考[开发文档](https://developer.android.google.cn/reference/android/view/View.html)里面有很详细的介绍
  • 使用XML布局文件控制UI界面

    Android推荐使用XML的布局文件来控制试图,这样不仅简单,而且可以将试图控制逻辑从Java代码中分离出来,从而更好体现MVC设计原则,

  • 在代码中控制UI界面
    我们也可以直接在Java代码中控制UI界面,所有的控件通过 new 关键字来创建例如:
public class T01Activity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        // 布局        LinearLayout layout = new LinearLayout(this);        layout.setOrientation(LinearLayout.VERTICAL);        // 创建的UI组件        TextView tv = new TextView(this);        Button btn = new Button(this);        // 设置组件属性        tv.setText("Hello Android);        btn.setText("Click me");        // 添加UI组件到布局        layout.addView(tv);        layout.addView(btn);    }}

完全在代码中控制UI界面不仅不利于高层次的解构,而且还需要通过 new 关键字来创建UI,需要调用方法来设置,代码也会很臃肿,相反如果通过XML 来控制UI组件,我们只需要简单的属性配置就可以控制UI行为,要简单很多

0 0
原创粉丝点击