Как создать макет для диалога, как показано на этом изображении, который должен быть адаптивным для всех размеров экрана? - PullRequest
0 голосов
/ 25 марта 2019

Ссылка на изображение
Я хочу создать диалоговое окно, как показано на рисунке. Размер диалога должен соответствовать размеру экрана. Код, который я написал, не отвечает. Я также хочу сохранить свой аспект аспекта в Imageswitcher. Я попытался создать другой файл макета для экрана разных размеров, то есть маленький, нормальный, большой, но у меня ничего не получалось.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"


>

<LinearLayout
    android:id="@+id/ll"
    android:layout_width="355dp"
    android:layout_height="match_parent"
    android:layout_marginStart="8dp"
    android:layout_marginTop="2dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    android:elevation="0dp"
    android:orientation="vertical"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="493dp"
        android:layout_gravity="center"
        android:background="#fff"
        app:cardCornerRadius="3dp"
        app:cardElevation="0dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">


            <android.support.v7.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="435dp"
                android:layout_marginLeft="3dp"
                android:layout_marginTop="3dp"
                android:layout_marginRight="3dp"
                android:layout_marginBottom="0dp"
                app:cardCornerRadius="3dp"

                >

                <ImageSwitcher
                    android:id="@+id/custompop_image"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="fitXY" />

            </android.support.v7.widget.CardView>

            <TextView
                android:id="@+id/customIdText"
                android:layout_width="match_parent"
                android:layout_height="0dp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="55dp"
                android:layout_margin="4dp"
                android:background="#fff"
                android:orientation="horizontal"
                android:padding="0dp">

                <Button
                    android:id="@+id/share_Button"
                    android:layout_width="@dimen/button_width"
                    android:layout_height="@dimen/button_height"
                    android:layout_marginLeft="0dp"
                    android:layout_marginTop="@dimen/button_top_margin"
                    android:background="@drawable/share10"
                    android:gravity="center_vertical"

                    android:textAppearance="@style/popupText" />

                <Button
                    android:id="@+id/download_Button"
                    android:layout_width="@dimen/button_width"
                    android:layout_height="@dimen/button_height"
                    android:layout_marginLeft="4dp"
                    android:layout_marginTop="@dimen/button_top_margin"
                    android:background="@drawable/save_final"
                    android:gravity="center_vertical"
                    android:paddingLeft="30dp"
                    android:textAppearance="@style/popupText" />
            </LinearLayout>
        </LinearLayout>
    </android.support.v7.widget.CardView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="42dp"
        android:layout_marginTop="35dp"
        android:background="@android:color/transparent"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/goback"
            android:layout_width="wrap_content"
            android:layout_height="24dp"
            android:layout_marginLeft="62dp"
            android:layout_marginTop="7dp"
            android:src="@drawable/previous" />

        <ImageView
            android:id="@+id/cancelButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="76dp"
            android:src="@drawable/close_button" />

        <ImageView
            android:id="@+id/goforward"
            android:layout_width="wrap_content"
            android:layout_height="24dp"
            android:layout_marginLeft="76dp"
            android:layout_marginTop="7dp"
            android:src="@drawable/next" />

    </LinearLayout>
</LinearLayout>


</android.support.constraint.ConstraintLayout>

1 Ответ

0 голосов
/ 28 марта 2019

попробуйте этот код, у меня есть пользовательский макет для диалога

так же, как вам нужно макет диалога

попробуйте этот код:

<?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="match_parent"
android:background="@android:color/transparent"
android:gravity="center"
android:orientation="vertical">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:translationZ="10dp">

    <LinearLayout
        android:id="@+id/layout_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:orientation="vertical"
        android:paddingLeft="5dp"
        android:paddingTop="5dp"
        android:paddingRight="5dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="450dp"
            android:background="@drawable/nature" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center">

            <android.support.v7.widget.CardView
                android:layout_width="150dp"
                android:layout_height="50dp"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="10dp"
                android:layout_marginRight="30dp"
                android:layout_marginBottom="10dp"
                android:elevation="10dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Share"
                        android:textSize="20sp" />
                </LinearLayout>
            </android.support.v7.widget.CardView>

            <android.support.v7.widget.CardView
                android:layout_width="150dp"
                android:layout_height="50dp"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:elevation="10dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Go"
                        android:textSize="20sp" />
                </LinearLayout>
            </android.support.v7.widget.CardView>
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/layout_1"
        android:layout_marginTop="10dp"
        android:gravity="center">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_menu_send" />
    </LinearLayout>

  </RelativeLayout>
  </LinearLayout>

Основная деятельность

  Dialog stardialog = new Dialog(this);
    stardialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    stardialog.getWindow().setBackgroundDrawable(new 
   ColorDrawable(android.graphics.Color.TRANSPARENT));
    stardialog.setContentView(R.layout.item);
    stardialog.show();

Screen Shot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...