标签: drawerlayout

仅使用标题切换DrawerLayout(没有应用程序图标)?

我有一个活动DrawerLayout.我可以通过两种不同的方式打开抽屉......通过从屏幕的左侧区域向右滑动并单击应用程序标题.我没有显示应用程序图标,只有标题.我完全按照Google推荐的方式实现了这一点:创建导航抽屉:使用应用程序图标打开和关闭

就打开和关闭抽屉本身而言,一切都是有用的.但是,它不显示DrawerLayout假设要使用的标准图标.相反,我得到常规的插入符号(看起来像一个不到标志).

只要我将应用程序图标添加回其中,ActionBar它就会按预期开始工作.抽屉打开或关闭时,抽屉布局图标会显示并设置动画.我已尝试在我的样式XML文件中以编程方式删除应用程序图标.

有没有办法让DrawerLayout图标工作在没有应用程序图标???

更新:我找到了一个解决方案,但它比解决方案更糟糕.我只是创建了1x1像素透明PNG(blank.png)并将其设置为我的styles.xml文件中的app图标.以下是所有相关代码:

styles.xml

<style name="MyCustomTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyCustomActionBar</item>
    <item name="android:icon">@drawable/blank</item>
</style>

<style name="MyCustomActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:displayOptions">showHome|showTitle|homeAsUp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

MainActivity - > onCreate()

this.navDrawerToggle = new ActionBarDrawerToggle
(
    this,
    this.navDrawerLayout,
    R.drawable.icon_nav_drawer,
    R.string.nav_drawer_open,
    R.string.nav_drawer_closed
)
{
    public void onDrawerClosed(View view) {}
    public void onDrawerOpened(View drawerView) {}
};
Run Code Online (Sandbox Code Playgroud)

MainActivity - > onPostCreate()

super.onPostCreate(savedInstanceState);
this.navDrawerToggle.syncState();
Run Code Online (Sandbox Code Playgroud)

MainActivity - > onResume()

this.navDrawer.setOnItemClickListener(new DrawerItemClickListener());
this.navDrawerLayout.setDrawerListener(this.navDrawerToggle);
Run Code Online (Sandbox Code Playgroud)

MainActivity - > onPause()

this.navDrawer.setOnItemClickListener(null);
this.navDrawerLayout.setDrawerListener(null);
Run Code Online (Sandbox Code Playgroud)

MainActivity - …

android android-actionbar drawerlayout

6
推荐指数
2
解决办法
1万
查看次数

如何只用按钮打开抽屉布局?

我正在开发具有标签结构的应用程序,并使用滑动动作在标签中移动.

但现在,我想应用抽屉布局.问题是抽屉有滑动打开事件.我怎么能删除这个事件?我的想法是抽屉只能用按钮打开和关闭.这可能吗?谢谢!

android navigation-drawer drawerlayout

6
推荐指数
2
解决办法
4万
查看次数

仅在特定片段上禁用右抽屉

我有ActivityDrawerLayout(其中包含左和右抽屉).我想知道我是否可以禁用特定碎片的右抽屉.

我已经读到了mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED),但它会锁定整个抽屉,我仍然需要左抽屉

android android-activity drawerlayout

6
推荐指数
1
解决办法
2376
查看次数

如何在Android中制作全屏DrawerLayout?

基本上,我需要一个"选项"菜单,可以通过从左到右滑动屏幕(或点击屏幕左上角的选项按钮)来访问.我还需要它来覆盖屏幕,但不能完全替换它(它需要是半透明的,以便前面的菜单在它下面可见).到目前为止我所做的事情(我正在研究别人的代码,仍然没有解除所有这些,对于缺乏信息感到抱歉):

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- As the main content view, the view below consumes the entire
         space available using match_parent in both dimensions. -->
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- android:layout_gravity="start" tells DrawerLayout to treat
         this as a sliding drawer on the left side for left-to-right
         languages and on the right side for right-to-left languages.
         The drawer is given a fixed width in dp and extends the full height of
         the container. A solid background is used for …
Run Code Online (Sandbox Code Playgroud)

xml layout android drawerlayout

6
推荐指数
2
解决办法
5362
查看次数

android.support.v7 Toolbar&DrawerLayout-如何隐藏汉堡图标

我正在实现工具栏和导航抽屉.我用我自己的视图定制了我的工具栏.我的工具栏中有我自己的菜单(汉堡)图标,用于打开导航抽屉,我在菜单图标(汉堡包)上显示徽章计数.所以我想隐藏默认的汉堡图标.

我试过这样的:

getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(false);
Run Code Online (Sandbox Code Playgroud)

请帮帮我.谢谢.

android navigation-drawer drawerlayout drawertoggle android-toolbar

6
推荐指数
2
解决办法
6118
查看次数

使用Icon和Title将MenuItem添加到NavigationView?

现在我正在尝试将新的Design Support libary(22.2.1)中的DrawerLayout/NavigationView实现到我的应用程序中.我已经在互联网上搜索过,特别是在stackoverflow上如何将MenuItem添加到带有图标和标题的子菜单.我知道可以添加带有标题图标的menuitem .

像那样:

        Menu m = mNavigationView.getMenu();
        m.add(R.id.groupID,R.id.menuItemID,orderNumber,"title");
Run Code Online (Sandbox Code Playgroud)

但这只是一个带有标题的MenuItem,没有Icon.是否可以添加带有标题图标的MenuItem ?

android menuitem drawerlayout navigationview

6
推荐指数
2
解决办法
7607
查看次数

setDrawerLockMode在android中不起作用?

我想锁定DrawerLayout的左右和左右滑动.

DrawerLayout drawerLayout;
Run Code Online (Sandbox Code Playgroud)

的onCreate:

drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
Run Code Online (Sandbox Code Playgroud)

单击按钮打开drawerLayout:

drawerLayout.openDrawer(Gravity.LEFT);
Run Code Online (Sandbox Code Playgroud)

并关闭:

drawerLayout.closeDrawers();
Run Code Online (Sandbox Code Playgroud)

我在onCreate,onResume,onStart中尝试setDrawerLockMode但是没有工作,它仍然可以打开,关闭时滑动它.

编辑2:

它适用于:

android:layout_gravity="start"

而不是与:

android:layout_gravity="start|bottom"
Run Code Online (Sandbox Code Playgroud)

任何帮助.谢谢.

android swipe drawerlayout

6
推荐指数
1
解决办法
741
查看次数

打开第二个抽屉布局作为第一个抽屉布局

Android Studio 2.1.3
Run Code Online (Sandbox Code Playgroud)

我有这个设计我想跟随.

在第一个抽屉布局上,我有一个设置选项.

在此输入图像描述

当用户点击时,它将打开第二个抽象布局,如下所示.

在此输入图像描述

用户可以通过单击箭头返回到第一个Main Menu.

这可能吗?

非常感谢任何建议

android drawerlayout navigationview

6
推荐指数
1
解决办法
995
查看次数

导航抽屉android过渡

任何人都知道如何实现这种类型的过渡.当我们打开Navagation抽屉全屏正在这样的动画.我也查看了驻留菜单,但这里的菜单预定义不是我想要的.

我也试过NavigationDrawer但没有成功.

   drawer.addDrawerListener(new DrawerLayout.DrawerListener() {
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
            float moveFactor = (linearLayout.getWidth() * slideOffset);

            float min = 0.9f;
            float max = 1.0f;
            float scaleFactor = (max - ((max - min) * slideOffset));
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
            {
                linearLayout.setTranslationX(moveFactor);
                linearLayout.setScaleX(scaleFactor);
                linearLayout.setScaleY(scaleFactor);
            }
            else
            {
                AnimationSet animSet = new AnimationSet(true);


                TranslateAnimation anim = new TranslateAnimation(lastTranslate, moveFactor, 0.0f, 0.0f);
                anim.setDuration(0);
                anim.setFillAfter(true);
                animSet.addAnimation(anim);
                ScaleAnimation scale = new ScaleAnimation(1.15f, 1.0f, 1.15f, 1.0f);
                scale.setDuration(10);
                scale.setFillAfter(true); …
Run Code Online (Sandbox Code Playgroud)

animation android navigation-drawer drawerlayout

6
推荐指数
1
解决办法
8728
查看次数

无法在三星s8 +中将DrawerLayout背景变为透明

我在我的应用程序中使用DrawerLayout.我使用NavigationView获取导航抽屉的内容,并使用下面的代码片段将其背景设置为透明.

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="start|center"
    android:background="@android:color/transparent">

</android.support.design.widget.NavigationView>
Run Code Online (Sandbox Code Playgroud)

在三星s8 +当我打开抽屉时,它在末端显示一个垂直条.当我从NavigationView中删除透明度时进行调试时,我发现三星s8 +除了背景外还包含灰色条.当我在Red mi 3s上部署相同的代码时,它工作得很好,它只有一个背景.

三星s8 +抽屉bg 在此输入图像描述

Redmi 3s抽屉bg 在此输入图像描述

三星s8 +抽屉bg透明 在此输入图像描述

Redmi 3s抽屉bg透明 在此输入图像描述

请帮我删除这个垂直条.

android android-layout drawerlayout

6
推荐指数
1
解决办法
308
查看次数