Настройка Диалога в нижнем листе - PullRequest
0 голосов
/ 18 марта 2019

Я просто хочу получить диалоговое окно нижнего листа, как показано ниже: margin из системного окна.Как я могу получить, как это?* *enter image description here 1004

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Вы можете создать фрагмент диалога нижнего листа следующим образом:

Сначала создайте xml-файл, указанный ниже как

fragment_bottomsheet

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/_150sdp"
        android:layout_margin="@dimen/_20sdp"
        android:background="@drawable/round_corner_white3"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tv_select_address"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textColor="@color/white"
            android:background="@drawable/round_corner_gray"
            android:layout_margin="@dimen/_10sdp"
            android:layout_alignParentBottom="true"
            android:paddingBottom="@dimen/_10sdp"
            android:paddingTop="@dimen/_10sdp"
            android:text="Select Address" />

    </RelativeLayout>

</RelativeLayout>

Теперь создайте фрагмент нижнего листа с именем

.

BottomSheetFragment

import android.app.Dialog;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.BottomSheetDialogFragment;
import android.view.View;

public class BottomSheetFragment extends BottomSheetDialogFragment {

    public static BottomSheetFragment newInstance() {
        BottomSheetFragment fragment = new BottomSheetFragment();
        return fragment;
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public void setupDialog(Dialog dialog, int style) {
        View contentView = View.inflate(getContext(), R.layout.fragment_bottomsheet, null);
        dialog.setContentView(contentView);
        ((View) contentView.getParent()).setBackgroundColor(getResources().getColor(android.R.color.transparent));
    }

}

Чтобы вызвать этот фрагмент нижнего листа, вы можете написать так:

BottomSheetFragment bottomSheetDialog = BottomSheetFragment.newInstance();
bottomSheetDialog.show(getSupportFragmentManager(), "Bottom Sheet Dialog Fragment");

На данный момент я взял только одно текстовое представление и прикрепил скриншот, потому что ваша главная задача - получить маржу в нижней части листа. Также таким образом вы можете настроить нижний лист, как вы хотите. Спасибо! enter image description here

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

Добавить зависимость

implementation 'com.baoyz.actionsheet:library:1.1.7'

Добавить этот код в действие

public void ButtonActionSheet() {

    ActionSheet.createBuilder(this, getSupportFragmentManager())
            .setCancelButtonTitle("Cancel")
            .setOtherButtonTitles("item1", "item2")
            .setCancelableOnTouchOutside(true)
            .setListener(new ActionSheet.ActionSheetListener() {
                @Override
                public void onDismiss(ActionSheet actionSheet, boolean isCancel) {

                }

                @Override
                public void onOtherButtonClick(ActionSheet actionSheet, int index) {

                    if (index == 0) {

                        myMethod();

                    } else if (index == 1) {

                        myMethod2();
                    }
                }


            })
            .show();




}

Добавить эту строку в style.xml

 <item name="actionSheetStyle">@style/ActionSheetStyleiOS7</item>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...