2012-03-22 50 views
0

我正在尝试使用布局来定制我的警报对话框。问题在于ALert对话框是小型的,大部分布局都是分开的或者单词重叠。这不是屏幕问题,因为对话框非常小,似乎不能扩展以覆盖所有内容。你为什么认为这是发生?为什么我的警报对话框没有显示其所有内容

我使用以下布局:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <LinearLayout 
     android:id="@+id/linearLayout2" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/linearLayout1" 
     android:layout_alignParentLeft="true" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/tvNa" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.5"/> 

     <EditText 
      android:id="@+id/etNa" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/tvQ" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.5"/> 

     <EditText 
      android:id="@+id/etQ" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/linearLayout3" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/linearLayout1" 
     android:layout_centerVertical="true" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/tvP" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.5" /> 

     <EditText 
      android:id="@+id/etP" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:inputType="numberDecimal" /> 

    </LinearLayout> 

</RelativeLayout> 

,我使用下面的代码:

AlertDialog.Builder alert = new AlertDialog.Builder(this); 
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

View layout = inflater.inflate(R.layout.add_dialog, null); 
alert.setView(layout); 
alert.setTitle("New one"); 
alert.setPositiveButton("Ok",new DialogInterface.OnClickListener() { 
@Override 
    public void onClick(DialogInterface dialog, int whichButton) { 


    } 
}); 
alert.setNegativeButton("Cancel",new DialogInterface.OnClickListener() { 
@Override 
    public void onClick(DialogInterface dialog, int whichButton) { 

    } 
}); 
alert.show(); 
+0

'alert.setContentView(R.layout.add_dialog)' – 2012-03-22 17:31:14

+0

它不存在。这是警报对话框,不是对话框。它有setView和我上面使用它 – Snake 2012-03-22 17:46:50

回答

0

对话框对象有,你有没有写上设置最大尺寸。您可以将您的布局添加到ScrollView。除此之外,您必须遵循Dialog的继承,直到找到设置最大对话框大小的位置并覆盖此设置。 GrepCode是查看SDK源代码的好地方。

相关问题