是否可以将持久底片作为片段?

问题描述 投票:0回答:2

我想将Persistent Bottom Sheet作为Fragment中的片段,但无法在任何地方找到如何实现它。 Everywhere Persistent Bottom Sheet被添加为活动/片段内的布局,但是是否可以将Persistent Bottom Sheet作为片段进行处理,以便我可以在其他地方重用该视图?

android android-fragments android-design-library bottom-sheet
2个回答
0
投票

BottomSheet有一个关于AndroidHive的惊人教程

您可以创建一个扩展BottomSheetDialogFragment的类。

public class BottomSheetFragment extends BottomSheetDialogFragment {
    public BottomSheetFragment() {
    // Required empty public constructor
    }

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

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_bottom_sheet_dialog, container, 
              false);
    }
}

并使用下面的代码切换它

BottomSheetFragment bottomSheetFragment = new BottomSheetFragment();
bottomSheetFragment.show(getSupportFragmentManager(), bottomSheetFragment.getTag());

-2
投票
you can use BottomSheetDialogFragment, 
I imagine you want to do just like this: [https://cdn-images-1.medium.com/max/800/1*rLBf6fPtfWhXqnTOLlj0cQ.png][1]

create the navigationView file

<?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="wrap_content">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <android.support.design.widget.NavigationView
            android:id="@+id/navigation_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:itemBackground="@drawable/state_pressed"
            app:menu="@menu/activity_main_drawer" />


    </RelativeLayout>

</android.support.constraint.ConstraintLayout>

and create file menu

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:showIn="navigation_view">

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_camera"
            android:icon="@drawable/round_home_24"
            android:title="Inicio"
            android:checked="true"
            android:checkable="true"/>
        <item
            android:id="@+id/nav_gallery"
            android:icon="@drawable/outline_settings_24"
            android:title="Configuración"
            android:checkable="true"/>
        <item
            android:id="@+id/nav_slideshow"
            android:icon="@drawable/round_mail_outline_24"
            android:title="Email"
            android:checkable="true"/>
        <item
            android:id="@+id/nav_manage"
            android:icon="@drawable/outline_search_24"
            android:title="Buscar" />
    </group>

    <item android:title="Communicate">
        <menu>
            <item
                android:id="@+id/nav_share"
                android:icon="@drawable/outline_lock_24"
                android:title="Share" />
            <item
                android:id="@+id/nav_send"
                android:icon="@drawable/outline_account_circle_24"
                android:title="Send" />
        </menu>
    </item>

</menu>

and create the file for borderRadius

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true">
        <shape xmlns:android="http://schemas.android.com/apk/res/android">
            <solid android:color="#ff0000" />
            <corners android:bottomRightRadius="90dp" android:bottomLeftRadius="90dp" />
            <padding android:left="30dp"/>
        </shape>
    </item>
    <item android:state_checked="false">
        <shape xmlns:android="http://schemas.android.com/apk/res/android">
            <solid android:color="@android:color/transparent" />
            <corners android:bottomRightRadius="30dp" android:topRightRadius="30dp" />
        </shape>
    </item>

</selector>

and create state_pressed backgroud color

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:drawable="@drawable/border_radius_tabs">
        <color android:color="@color/colorPrimary"></color>
    </item>
    <item android:state_checked="false">
<color android:color="@color/primaryLightColor"></color>
    </item>

</selector>
© www.soinside.com 2019 - 2024. All rights reserved.