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將會一直存在。
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用於字體。