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()方法才能结束对话框的运行。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值