2013-03-09 79 views
0

我使用AlertDialog的自定义视图。在模拟器中,customeView上方和下方都有一些空间。如果我为AlertDialog设置标题和按钮,我可以看到标题面板/按钮面板和customView之间的差距。我怎样才能消除差距?AlertDialog - 自定义视图和标题/按钮之间的差距

enter image description here

我的代码来打开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> 

我已经在安卓4.0.3和4.1.2模拟器测试AlertDialog和得到同样的问题。

感谢您的帮助!

+0

问题是什么? – Karakuri 2013-03-09 00:47:22

+0

我想删除这两个缺口。 – user769923 2013-03-09 08:23:50

回答

3

而不是使用AlertDialog尝试使用Dialog,而不是像这样的:

var dialog = new Dialog(this); 
dialog.SetTitle("Hey there"); 

dialog.SetContentView(Resource.Layout.myDialog); 
dialog.Show(); 

这让我在底部没有间隙的对话。

Dialog with no bottom gap

您也可以留下标题出来,并与您的自定义视图填满整个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> 

Dialog with no gaps

+0

非常感谢您的帮助! – user769923 2013-03-10 23:38:41