如何实现一个滑动整个活动内容的 Android 导航抽屉?

Posted

技术标签:

【中文标题】如何实现一个滑动整个活动内容的 Android 导航抽屉?【英文标题】:How can I implement an Android navigation drawer which slide whole content of activity? 【发布时间】:2017-02-16 03:09:43 【问题描述】:

请任何人建议我如何实现导航抽屉滑动完整屏幕的活动。

提前致谢。

***---------

解决方案

--------*:** 我找到了解决方案。

使用这个库很容易使用和处理

https://github.com/adamrocker/simple-side-drawer

【问题讨论】:

看看这个:***.com/questions/37451594/… 在我的回答中,我打开了Button 上的面板点击。你已经写了ToggleButton点击。 嗨在这个例如Actionbar不是slide。如何处理这个?我也想要操作栏幻灯片 访问:***.com/questions/11234375/… 【参考方案1】:

您可以尝试将此布局用于抽屉活动。

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_
    android:layout_
    android:elevation="7dp"
    >

    <RelativeLayout
        android:id="@+id/content_layout"
        android:layout_
        android:layout_
        >

    </RelativeLayout>

    <FrameLayout
        android:id="@+id/drawer_holder"
        android:layout_
        android:layout_
        android:layout_gravity="start"
        >

        <ListView
            android:id="@+id/drawer_view"
            android:layout_
            android:layout_
            />

    </FrameLayout>

</android.support.v4.widget.DrawerLayout>

然后像这样将DrawerLayout.DrawerListener 添加到DrawerLayout

drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() 
            @Override
            public void onDrawerSlide(View view, float slideOffset) 
                drawerView.setX(drawerHolder.getWidth() * (1 - slideOffset));
                contentLayout.setX(drawerHolder.getWidth() * slideOffset);
            

            @Override
            public void onDrawerOpened(View view) 
            

            @Override
            public void onDrawerClosed(View view) 
            

            @Override
            public void onDrawerStateChanged(int newState) 
            
        );

在添加listner 之后放入这段代码。

drawerLayout.closeDrawer(drawerHolder);
mainDrawerView.setX(0);
contentLayout.setX(0);

希望这会有所帮助。

【讨论】:

以上是关于如何实现一个滑动整个活动内容的 Android 导航抽屉?的主要内容,如果未能解决你的问题,请参考以下文章

Android复杂表格如何实现?

android之SlideMenu双向滑动

Android:在视图/活动/片段之间滑动切换

Android项目实战(二十):浅谈ListView悬浮头部展现效果

android下滑动返回上一个页面如何实现

Android短视频滑动播放(一)