Android:自定义AlertDialog无法正确包装内容

时间:2013-07-03 08:42:47

标签: android android-layout android-alertdialog

我遇到了自定义AlertDialog布局参数的问题,我无法解决。所以,请帮助我。

这是AlertDialog布局(inputqty_dialog.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="wrap_content"
    android:orientation="vertical"
    android:padding="5dp" >

   <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="7dp"
    android:layout_marginBottom="7dp"
    android:gravity="center_vertical" >

    <TextView
        style="@style/Label"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:textColor="#fff"
        android:gravity="left"
        android:text="AAAAAAAAA AAAAAAAAAA AA AAAAAAAA"/>

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


  </LinearLayout>


  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="7dp"
    android:layout_marginBottom="7dp"
    android:gravity="center_vertical" >


    <TextView
        style="@style/Label"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:textColor="#fff"
        android:gravity="left"
        android:text="@string/label_MAX_QTY"/>

    <EditText
        style="@style/EditText"
        android:id="@+id/inputQtyDlg_maxQtyTxt"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"/>

  </LinearLayout>


  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="7dp"
    android:layout_marginBottom="7dp"
    android:gravity="center_vertical" >

    <TextView
        style="@style/Label"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:textColor="#fff"
        android:gravity="left"
        android:text="AAAA AAAA A AAAAAAAAAA"/>

    <EditText
        style="@style/EditText"
        android:id="@+id/inputQtyDlg_requiredQtyTxt"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"/>

  </LinearLayout>

</LinearLayout>

这是我用来夸大它的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View dialog_layout = inflater.inflate(R.layout.inputqty_dialog, null);
builder .setTitle(getArguments().getString("message"))
                .setView(dialog_layout));

这是我得到的糟糕结果:

enter image description here

正如您所看到的,我已在布局文件中设置了wrap_content,但AlertDialog忽略了该参数并切断了对话框而未正确包装内容。我怎么解决?谢谢

3 个答案:

答案 0 :(得分:0)

尝试将minHeight设置为您的edittext,

 <EditText
        style="@style/EditText"
        android:id="@+id/inputQtyDlg_qtyTxt"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:minHeight="50dp"
        android:layout_marginLeft="5dp"
        android:inputType="numberDecimal"/>

答案 1 :(得分:0)

我没有尝试过你,但我在几天前使用过自定义并按照此链接进行操作 http://www.mkyong.com/android/android-custom-dialog-example/

尝试一下值得尝试

答案 2 :(得分:0)

minHeight="Xdp"添加到根LinearLayout是一种可能的解决方案,但不是解决方案..