簡單分享幾個小控件的使用,這裏我在描述上力求精簡
所有的控件都具有一個控制顯示狀態的屬性或方法
xml中:
android:visibility 可選值有三種,visible(可見)、invisible(透明) 和
gone(徹底消失)。
代碼中:
setVisibility(),可以傳入 View.VISIBLE、View.INVISIBLE 和 View.GONE(與上面對應)。
控件一:progressbar
ProgressBar 用於在界面上顯示一個進度條,表示我們的程序正在加載一些數據。
代碼實例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
activity
public class MainActivity extends Activity implements OnClickListener {
private Button button;
private ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
progressBar = (ProgressBar) findViewById(R.id.progress_bar);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
if (progressBar.getVisibility() == View.GONE) {
progressBar.setVisibility(View.VISIBLE);
} else {
progressBar.setVisibility(View.GONE);
}
break;
default:
break;
}
}
}
本代碼實現了progressbar的隱藏與顯示功能,注意這裏用到了getVisibility()方法,用於獲取progressbar控件的顯示狀態。
對於progressbar,程序默認顯示一個旋轉的圓,當然你可以爲其設置很多樣式,包括自定義,這裏可以自行百度,比如一個條形進度條,只需在xml的progressbar中添加style="?android:attr/progressBarStyleHorizontal"。
我們也可以爲進度條設立最大值,添加android:max屬性即可。
控件二:AlertDialog
AlertDialog 可以在當前的界面彈出一個對話框,這個對話框是置頂於所有界面元素之上的,能夠屏蔽掉其他控件的交互能力,因此一般 AlertDialog 都是用於提示一些非常重要的內容或者警告信息。比如爲了防止用戶誤刪重要內容,在刪除前彈出一個確認對話框。
activity
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("Dialog");
dialog.setMessage("萬不得已,少用這玩意");
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;
}
}
}
setPositiveButton()方法爲對話框設置確定按鈕的點擊事件,調用 setNegativeButton()方法設置取消按鈕的點擊事件,show()方法用於顯示。
控件三:progressDialog
public class MainActivity extends Activity implements OnClickListener {
……
@Override
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;
}
}
}
和alterDialog一樣,他們都有內置的xml界面,我們無須自己設置,此外,在對話框設置爲不可取消的情況下(progressDialog.setCancelable(true)),必須調用對話框的dismiss()方法才能結束對話框的運行。