简单分享几个小控件的使用,这里我在描述上力求精简
所有的控件都具有一个控制显示状态的属性或方法
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()方法才能结束对话框的运行。