Android之ProgressBar的使用

ProgressBar

ProgressBar用於在界面上顯示一個進度條,表示我們的程序正在加載一些數據。
旋轉的進度條表明我們的程序正在加載數據,,那數據總會有加載完的時候。
如何才能消失呢?
android控件的可見屬性。所有的android控件都具有這個屬性,可以通過android:visibility指定進行,可選值有3種:visible、invisible、和gone。

visible

表示控件是可見的,這個是默認值。
不指定android:visibility時
控件都是可見的。

invisible

表示控件不可見,但是它仍然佔據着原來的位置和大小,可以理解成控件變成透明狀態了。

gone

則表示控件不僅不可見,而且不再佔用任何屏幕空間。

例:

public class Activity_main extends AppCompatActivity {
    private EditText editText;
    private ImageView imageView;
    private ProgressBar progressBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button)findViewById(R.id.button);
        editText = (EditText)findViewById(R.id.edit_text);
        imageView = (ImageView)findViewById(R.id.image_view);
         progressBar = (ProgressBar) findViewById(R.id.progress_bar);
        button.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
               /* String inputText = editText.getText().toString();
                Toast.makeText(Activity_main.this,inputText,Toast.LENGTH_SHORT).show();*/
                /*imageView.setImageResource(R.drawable.img_2);*/
                if (progressBar.getVisibility()==View.GONE){
                    progressBar.setVisibility(View.GONE);
                }
            }
        });

    }
	}

在按鈕的點擊事件中,我們通過getVisibility()方法來判斷ProgressBar是否可見,如果可見就將ProgressBar隱藏掉,如果不可見就將ProgressBar顯示出來,重新運行程序。

#AlertDialog
AlertDialog可以再當前的界面彈出一個對話框,這個對話框是置頂於所有界面元素之上的,能夠屏蔽掉其他空間的交互能力,因此AlertDialog一般都是用於提示一些非常重要的內容或者警告信息。
比如爲了防止用戶誤刪重要內容,再刪除前彈出一個確認話框。
首先通過AlertDialog.Builder創建一個AlertDialog的實例,然後可以爲這個對話框設置標題、內容、可否取消等屬性,接下來調用setPositiveButton()方法爲對話框設置確定按鈕的點擊事件,調用setNegativeButton()方法設置取消按鈕的點擊事件,最後調用show()方法將對話框顯示出來。

AlertDialog.Builder dialog = new AlertDialog.Builder(Activity_main.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();

ProgressDialog

ProgressDialog和AlertDialog有點類似。都可以在界面上彈出一個對話框,都能夠屏蔽掉其他控件的交互能力。
不同的是:
ProgressDialog會在對話框中顯示一個進度條,一般用於表示當前操作比較耗時,讓用戶耐心地等待。

ProgressDialog progressDialog = new ProgressDialog(Activity_main.this);
                    progressDialog.setTitle("This is  ProgressDialog");
                    progressDialog.setMessage("Loading...");
                    progressDialog.setCancelable(true);
                    progressDialog.show();

注意:如果在setCancelable()中傳入了false,表示Progre

ssDialog是不能通過Back鍵取消掉的,這時就要在代碼中做好控制,當數據加載完成後必須要調用ProgressDialog的dismiss()方法來關閉對話框,否則ProgressDialog將會一直存在。

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