我使用AlertDialog的自定义视图。在模拟器中,在customeView上方和下方有一些空间。如果我为AlertDialog设置了标题和按钮,我可以看到标题面板/按钮面板和customView之间的差距。我该如何消除差距?
我打开AlertDialog的代码:
btnShowDialog.Click += (object sender, EventArgs e) =>
{
var customView = LayoutInflater.Inflate(Resource.Layout.myDialog, null);
var builder = new AlertDialog.Builder(this);
builder.SetTitle("Title");
builder.SetView(customView);
builder.Create().Show();
};
customView布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF">
<TextView
android:id="@+id/DialogText"
android:text="This is my custom view. Blur Blur Blur"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<EditText
android:id="@+id/EnterPhone"
android:inputType="phone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:hint="enter your number" />
</LinearLayout>
我在android 4.0.3和4.1.2模拟器中测试过AlertDialog并得到了同样的问题。
感谢您的帮助!
答案 0 :(得分:3)
而不是使用AlertDialog
尝试使用Dialog
,而不是这样:
var dialog = new Dialog(this);
dialog.SetTitle("Hey there");
dialog.SetContentView(Resource.Layout.myDialog);
dialog.Show();
这给了我一个底部没有间隙的对话框。
您也可以保留标题,并使用自定义视图填充整个Dialog
。
var dialog = new Dialog(this);
dialog.RequestWindowFeature((int)WindowFeatures.NoTitle);
dialog.SetContentView(Resource.Layout.myDialog);
dialog.Show();
并使用此布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#000000">
<TextView
android:text="Hey there"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
style="@android:style/TextAppearance.DialogWindowTitle" />
</LinearLayout>
<TextView
android:id="@+id/DialogText"
android:text="This is my custom view. Blur Blur Blur"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<EditText
android:id="@+id/EnterPhone"
android:inputType="phone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:hint="enter your number" />
</LinearLayout>