Xamarin - 如何删除dialogfragment顶部的额外空间

时间:2017-11-24 17:27:23

标签: xamarin

我在Xamarin中创建了一个对话框片段。我唯一的问题是这个片段显示了灰色部分。我无法弄清楚灰色部分出现的原因。你们也许知道可能的原因吗?

enter image description here

我正在使用此代码显示此对话框:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
     android:focusableInTouchMode="true">
  <View
      android:id="@+id/makedialogfullscreenChooseSoundTrack"
      android:layout_width="wrap_content"
      android:layout_height="1dp"
      android:layout_gravity="fill_horizontal"
       />

  <RelativeLayout
       android:orientation="horizontal"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:background="#e1effa" >
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Choose Sound Track"
        android:textSize="20dp"
        android:textColor="#673ab7"
        android:padding="15dp"
        android:layout_marginRight="25dp"
      />
    <ImageView
        android:id="@+id/imgCloseSoundDialog"
        android:layout_width="33dp"
        android:layout_height="33dp"
        android:src="@drawable/close_icon"
        android:layout_marginBottom="15.5dp"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_centerVertical="true" />
  </RelativeLayout>

  <LinearLayout
      android:orientation="vertical"
      android:layout_height="wrap_content"
      android:layout_width="wrap_content"  >
    <GridView
               android:id="@+id/gvSoundFiles"
               android:layout_width="fill_parent"
               android:layout_height="400dp"
               android:gravity="center"
               android:verticalSpacing="5dp"
               android:drawSelectorOnTop="true"
               android:stretchMode="columnWidth" />

  </LinearLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:1)

默认情况下,DialogFragment附带一个带标题栏的主题,为了解决此问题,请将下面的代码放在构造函数中

SetStyle(DialogFragmentStyle.NoTitle, 0);

答案 1 :(得分:0)

我通过在OnCreateView(..)方法中添加这一行解决了这个问题:

Dialog.Window.RequestFeature(WindowFeatures.NoTitle);