UI布局two---對(duì)話框

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)的值

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容