Android ApiDemos详解之App->Activity->Custom Dialog
先来看看直观的效果图,点击Custom Dialog
接着出现一个半透明的类似于对话框似的窗口
上面这个红底的类似于对话框的窗口实际是一个Activity,代码也非常简单,和我们初识Android写的第一个程序Hello World并无大异:
public class CustomDialogActivityextends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_dialog_activity);
}
}
那么大家可以猜到,决定这个Activity显示的关键就是layout目录下的custom_dialog_activity.xml文件,该布局文件的代码同样很简单,如下:
<?xml version="1.0"encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/text"
android:layout_width="match_parent" android:layout_height="match_parent"
android:gravity="center_vertical|center_horizontal"
android:text="@string/custom_dialog_activity_text"/>
这个布局很简单,就是一个TextView,它的高度和宽度都分别设置成了”match_parent”,这里需要说明的是match_parent和fill_parent的作用完全一样,官方文档中是这样说的:
FILL_PARENT在API Level 8及更高版本中被重命名为MATCH_PARENT,意为视图填充父容器。
其他部分的解释如下:
(1):android:gravity="center_vertical|center_horizontal"意为该TextView的内容中心为水平和垂直都居于TextView控件的中心。
(2):android:text="@string/custom_dialog_activity_text"意为引用values/strings.xml内键为custom_dialog_activity_text所对应的值,也即就是在TextView上显示的:“Example of how you can use a
custom Theme.Dialog theme to makean activity that looks like a
customized dialog, here with an ugly frame.”
该例解释完毕