ProgressBar
作用是在界面上顯示一個(gè)進(jìn)度條,表示我們的程序正在加載一些數(shù)據(jù)
栗子:
<ProgressBar
android:id ="@+id/bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible"/>
android:max:設(shè)置進(jìn)度條的最大值
android:visibility:設(shè)置控件是否可見(jiàn)腻扇,可選值有三種
- visible 表示控件可見(jiàn)帅霜,這個(gè)是默認(rèn)值
- invisible 表示控件不可見(jiàn)拆讯,但是它仍然占據(jù)著原來(lái)的位置和大小筛圆,可以理解成控件變透明了
- gone 表示控件不可見(jiàn)决摧,同時(shí)不占用屏幕的任何空間了
- 其次政基,我們還可以通過(guò)setVisiibility()方法來(lái)設(shè)置控件的可見(jiàn)性,傳入的值分別為View.VISIBLE View.GONE View.INVISIBLE三個(gè)
AlertDialog
作用:可以在當(dāng)前窗口彈出一個(gè)對(duì)話框胜蛉,并且這個(gè)對(duì)話框置頂于所有元素界面之上挠进,他能夠屏蔽掉其他控件的作用
應(yīng)用場(chǎng)景:比如在刪除數(shù)據(jù)之前,彈出一個(gè)確認(rèn)對(duì)話框
栗子:
public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//創(chuàng)建AlertDialog實(shí)例
AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("Warning"); //設(shè)置標(biāo)題
dialog.setMessage("Are you sure delete it ?"); //設(shè)置提示內(nèi)容
dialog.setCancelable(false); //設(shè)置可否取消
//設(shè)置對(duì)話框確定按鈕點(diǎn)擊事件
dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//添加代碼邏輯
}
});
//設(shè)置對(duì)話框取消按鈕點(diǎn)擊事件
dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//添加代碼邏輯
}
});
//將按鈕顯示出來(lái)
dialog.show();
}
});
}
}
ProgressDialog
與AlertDialog類似誊册,在界面上彈出一個(gè)進(jìn)度條對(duì)話框
栗子:
public class MainActivity extends AppCompatActivity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final ProgressDialog progress = new ProgressDialog(MainActivity.this);
progress.setTitle("Being loaded");
progress.setMessage("Loading...");
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //設(shè)置進(jìn)度條樣式
progress.setCancelable(true); //設(shè)置可否取消,若為false领突,則不能通過(guò)back鍵取消
progress.setMax(100);
progress.show();
new Thread() {
@Override
public void run() {
for (int i = 0; i <= 100; i++) {
try {
//設(shè)置線程睡眠時(shí)間
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
//給進(jìn)度條的位置賦值
progress.setProgress(i);
}
//關(guān)閉進(jìn)度條
progress.dismiss();
}
}.start();
}
});
}
}
dismiss()方法:關(guān)閉進(jìn)度條
setCancelable(true):設(shè)置back鍵是否可以關(guān)閉對(duì)話框
setProgressStyle()方法:可以設(shè)置進(jìn)度條的樣式
有兩種值可選:
ProgressDialog.STYLE_HORIZONTAL:水平方向的進(jìn)度條
ProgressDialog.STYLE_SPINNER:圓形的旋轉(zhuǎn)樣式,默認(rèn)的值