第三章 UI开发

3.2 常见控件用法

3.2.6 AlertDialog

AlertDialog可以在当前的界面弹出一个对话框, 这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,因此一般 AlertDialog都是用于提示一些非常重要的内容或者警告信息。

public class MainActivity extends Activity implements OnClickListener {
……
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.button:
            AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
            dialog.setTitle("This is Dialog");
            dialog.setMessage("Something important.");
            dialog.setCancelable(false);
            dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                }
            });
            dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                }
            });
            dialog.show();
            break;
        default:
            break;
        }
    }
}

效果如下:
这里写图片描述

3.2.7 ProgressDialog

ProgressDialog和 AlertDialog有点类似,都可以在界面上弹出一个对话框,都能够屏蔽掉其他控件的交互能力。不同的是,ProgressDialog会在对话框中显示一个进度条,一般是用于表示当前操作比较耗时,让用户耐心地等待。它的用法和 AlertDialog也比较相似,如下所示:

public void onClick(View v) {
    switch (v.getId()) {
    case R.id.button:
        ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
        progressDialog.setTitle("This is ProgressDialog");
        progressDialog.setMessage("Loading...");
        progressDialog.setCancelable(true);
        progressDialog.show();
        break;
    default:
        break;
    }
}

注意如果在 setCancelable()中传入了 false,表示 ProgressDialog是不能通过 Back键取消掉的,这时你就一定要在代码中做好控制,当数据加载完成后必须要调用 ProgressDialog的dismiss()方法来关闭对话框,否则 ProgressDialog将会一直存在。
ProgressDialog

3.4 创建自定义控件

控件和布局的继承结构
我们所用的所有控件都是直接或间接继承自 View的,所用的所有布局都是直接或间接继承自 ViewGroup的。View是 Android中一种最基本的 UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件,因此,我们使用的各种控件其实就是在 View的基础之上又添加了各自特有的功能。而 ViewGroup则是一种特殊的 View,它可以包含很多的子 View和子 ViewGroup,是一个用于放置控件和布局的容器。

3.4.1 引入布局

在主布局文件中引用其他的布局文件,只需在主布局文件中引用即可,比如引用title.xml文件:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <include layout="@layout/title" />
 </LinearLayout>

3.4.2 创建自定义布局(占坑)

3.5 ListView用法(占坑)

3.6 单位和尺寸

px是像素的意思,pt是磅数的意思,1磅等于1/72英寸,一般pt都会作为字体的单位来使用。经常在PC程序上使用这两个单位。Android中用dp、sp来表示。dp用于空间,sp用于字体。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章