这几天在做自定义布局的dialog时,踩了不少的坑,现在记录下自认为最大的坑。
首先,我们来创建一个定义dialog布局的xml文件。
dlg_test.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello world"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button"/>
</LinearLayout>
在这个布局文件中,我只放了两个控件,一个TextView和一个Button,宽度都为wrap_content,最外层是一个宽度为match_parent的LinearLayout。
然后在main_activity中放置一个按钮,便于弹出该dialog。以下为MainActivity中弹出dialog的代码:
open_dlg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog dlg = new AlertDialog.Builder(MainActivity.this, R.st