转载:http://blog.youkuaiyun.com/heraclesapollo/article/details/7081422
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.”
该例解释完毕