1.AlertDialogღ拼脸蛋的UI-提示对话框
AiertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的能够屏蔽掉其他控件的交互能力,因此AlertDialog一般都是用于提示一些非常重要的内容或者警告信息。比如为了防止用户误删重要内容,在删除前弹出一个确认对话框。修改MainActivity中代码,如下所示:
public void onClick(View v){
switch (v.getId()){
case R.id.button:
//在此处添加逻辑
AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.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.show();
break;
default:
break;
}
}
运行结果如下图所示:
2.ProgressDialog
ProgressDialog与AlertDialog有点类似,都可以在界面上弹出一个对话框,都能够屏蔽掉其他控件的交互能力。不同的是,ProgressDialog会在对话框中显示一个进度条,一般用于表示当前操作比较耗时,让用户耐心等待。它的用法和AlertDialog也比较相似,修改MainActivity代码,如下所示:
@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;
}
}
运行效果如图所示:
3.划重点
全部都配置好了,怀着激动心情运行了下,发现运行错误,提示这个:
通过同事,了解到我是没有启动APP的标识:需要在Mainfest.xml文件中Main activity里添加如下代码作为启动界面。就这样解决啦~
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
4.详解4种基本布局
可在UILayoutTest中查看。
注意:LinearLayout布局中,当其排列方向是horizontal,内部的控件就绝对不能将宽度指定为match_parent,因为这样的话,单独一个控件就会将整个水平方向占满,其他的控件就没有可放置的位置了。同样的道理,如果LinearLayout的排列方向是vertical,内部的控件就不能将高度指定为match_parent。