在我的布局外面的DialogFragment上放置一个按钮

时间:2017-07-17 15:10:59

标签: android layout modal-dialog

首先,看看这个screeshot:

Screenshot

我想在这个模态中放置一个关闭按钮,如下所示: enter image description here

但我无法弄清楚如何做到这一点,这是我的布局文件:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="br.com.makadu.makaduevento.ui.fragments.wizardInteligenceArtificial.WizardAIFifthStep">


<android.support.constraint.ConstraintLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tv_title_subjects_schedule_suggestion"
        android:paddingTop="@dimen/screen_title_top_bot_padding"
        android:paddingBottom="@dimen/screen_title_top_bot_padding"
        android:background="@color/Verde2"
        android:gravity="center_horizontal"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textColor="@color/white"
        android:textSize="@dimen/txt_medium"
        android:text="@string/str_screen_title_subjects"
        tools:layout_constraintTop_creator="1"
        tools:layout_constraintRight_creator="1"
        app:layout_constraintRight_toRightOf="parent"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:text="@string/str_according_to_your_interests_title"
        style="@style/Theme.DefaultTextView.PrimaryDark.Bold"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintLeft_toLeftOf="parent"
        android:id="@+id/tv_according_interests"
        android:layout_marginTop="8dp"
        app:layout_constraintTop_toBottomOf="@+id/tv_title_subjects_schedule_suggestion" />


    <ExpandableListView
        android:id="@+id/elv_suggested_schedule"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginTop="8dp"
        app:layout_constraintTop_toBottomOf="@+id/tv_according_interests"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        android:layout_marginBottom="8dp"
        app:layout_constraintBottom_toTopOf="@+id/b_confirm_schedule">


    </ExpandableListView>



    <Button
        android:id="@+id/b_confirm_schedule"
        style="@style/Theme.DefaultButton.Purple.Radius"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="@string/str_confirm_schedule_button"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        app:layout_constraintRight_toRightOf="parent"
        android:layout_marginEnd="8dp" />

</android.support.constraint.ConstraintLayout>

提前致谢。 堆栈溢出请求我更好地解释我的问题,但我猜这些图片解释了它的自我,所以我现在只是写任何无意义的文本。

2 个答案:

答案 0 :(得分:0)

第一个解决方案,它将100%工作,但我觉得不漂亮:
您可以使根布局透明,并将其放入需要的可见视图中。您可以为根视图设置OnClickListener以隐藏可见视图时的对话框 第二个解决方案,也许它会起作用我现在无法检查:
您可以关闭clipPadding以查看根视图,并将“关闭”按钮移出可见区域 附:我是通过电话写的,因此它没有良好的视图格式,也没有样本。

答案 1 :(得分:0)

我在类似问题上遇到过,你应该创建一个LinearLayout,重心和背景透明的边距,添加一个RelativeLayout和对话框的内容。

在RelativeLayout中你可以使用 android:layout_alignParentRight =&#34; true&#34; &安培; android:layout_alignParentTop =&#34; true&#34; 包含关闭按钮的ImageView(可能你也需要使用一些边距),因此它将显示在包含对话框标题的textview上方。 / p>

我希望这能帮助你,明天我会尝试为你发送一个代码!