Android常用控件學習(1)

簡單分享幾個小控件的使用,這裏我在描述上力求精簡

所有的控件都具有一個控制顯示狀態的屬性或方法

xml中:

android:visibility   可選值有三種,visible(可見)invisible(透明) gone(徹底消失)。

代碼中:

setVisibility(),可以傳入 View.VISIBLEView.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

ProgressDialog 會在對話框中顯示一個進度條,一般是用於表示當前操作比較耗時,讓用戶耐心地等待。
activity
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()方法才能結束對話框的運行。


發佈了195 篇原創文章 · 獲贊 194 · 訪問量 67萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章