对话框末尾的对话框addContentView

时间:2015-01-10 01:07:32

标签: android android-layout android-dialog

在我的应用程序中,我有一个Dialog。假设我已经使用自定义视图创建了一个Dialog,现在我想直接在第一个视图下添加第二个视图。我用这段代码试了一下:

LayoutInflater inflater = LayoutInflater.from(context);
View test = inflater.inflate(R.layout.testlayout, null, false);

dialog.addContentView(buttons, test.getLayoutParams());

但是,如果我使用此代码添加第二个视图,它将显示在另一个视图的顶部。我希望第二个视图直接位于第一个视图之下。这是第二个视图的布局:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:clickable="true"
        android:gravity="center"
        android:text="NONE"
        android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>

我的Dialog的根布局是一个FrameLayout,但我无法将其改为另一种布局。您是否有任何想法如何设置第一个视图而不是对话框顶部的第二个视图?

1 个答案:

答案 0 :(得分:0)

引自Android docs

  

通常,FrameLayout应该用于保存单个子视图,因为很难以可扩展到不同屏幕大小的方式组织子视图而不会让孩子彼此重叠。

所以你可能不应该给它一个孩子,因为它不会变得容易。话虽如此,为什么不将第二个视图添加到FrameLayout内的ViewGroup?这是我能提供的最好的,除非我看到其他ViewGroups。听起来你有限制,而且在不知道原因的情况下很难给出具体的答案。