ProgressBar与AlertDialog使用

ProgressBar与AlertDialog使用

1.ProgressBar进度条

(1)安卓控件可见属性android:visibility

可选值有三种:

visible:控件可见,是默认值

invisible:不可见,但仍然占有屏幕空间

gone:不可见,也不占有屏幕空间

也可以不在布局文件中设置,而在代码中设置,使用setVisibility()方法,传入View.VISIBLE,View.INVISIBLE,View.GONE三种值

(2)定义方式
 <ProgressBar
        android:id="@+id/progressbar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

处理一个点击按钮切换进度条显示与否的逻辑

public class MainActivity extends AppCompatActivity {

    private Button button;
    private ProgressBar progressBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressBar=(ProgressBar)findViewById(R.id.progressbar1);
        button=(Button)findViewById(R.id.button2);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(progressBar.getVisibility()==View.GONE){
                    progressBar.setVisibility(View.VISIBLE);
                }
                else{
                    progressBar.setVisibility(View.GONE);
                }
            }
        });
    }
}

这里当我在private Button button位置处定义为private Button button=(Button)findViewById(R.id.button2);时就会产生崩溃,应该是这里成员变量不能直接定义固定值。

刚刚显示的是圆形进度条,此外还能变成条形,更改样式

style="?android:attr/progressBarStyleHorizontal"
android:max="100"

这里就是一个水平进度条,此外还可以设置一个最大值,在代码中进行进度条进度的动态更改

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int progress=progressBar.getProgress();
                progress=progress+10;
                progressBar.setProgress(progress);
            }
        });
    }

这里就是点击一下进度加10,多点几下就满了

2.AlertDialog

AlertDialog可以在当前页面弹出一个对话框,这个对话框处于所有页面之上,能够屏蔽掉其他控件的交互能力。所以用来提示一些重要内容和警告信息。

它的定义在xml文件中没有,只能在代码中定义

public class MainActivity extends AppCompatActivity {

    private Button button;
    private ProgressBar progressBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressBar=(ProgressBar)findViewById(R.id.progressbar1);
        button=(Button)findViewById(R.id.button2);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
                dialog.setTitle("This is a Dialog");
                dialog.setMessage("something");
                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();
            }
        });
        }

首先通过AlertDialog.Builder来定义一个AlertDialog,然后设置它的标题消息以及按back键是不是可以取消(setCancelable),setPositiveButton()方法设置确定按钮点击事件,setNegativeButton()方法设置取消按钮点击事件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值