标签: drawerlayout

3线图标不会动画导航抽屉中的较小图像

徽标旁边的小图标(指示符或3行)不会变为较小的图标.

我想要的是这个 - >此图像不是动画,当我点击应用程序的徽标时,抽屉被打开但图像没有动画成更小的图像,这是抽屉当前打开的指示.

gABar.get().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)
 mDrawerToggle = new ActionBarDrawerToggle(
        getActivity(),                  /* host Activity */
        mDrawerLayout.get(),         /* DrawerLayout object */
        R.drawable.ic_drawer2,  /* nav drawer image to replace 'Up' caret */
        R.string.drawer_open,  /* "open drawer" description for accessibility */
        R.string.drawer_close  /* "close drawer" description for accessibility */
        ) {
    @Override
    public void onDrawerClosed(View view) {
        getActivity().getActionBar().setTitle(mTitle);
        getActivity().invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()

        Log.d("onDrawerClosed", "inside");
    }

    @Override
    public void onDrawerOpened(View drawerView) {
        getActivity().getActionBar().setTitle(mDrawerTitle);
        getActivity().invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
    }

};
Run Code Online (Sandbox Code Playgroud)
@Override
public boolean …
Run Code Online (Sandbox Code Playgroud)

java android actionbarsherlock navigation-drawer drawerlayout

4
推荐指数
1
解决办法
1908
查看次数

无法单击DrawerLayout后面的按钮

这是我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main"
android:background="@android:color/black" >

  <RelativeLayout
    android:id="@+id/layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageButton
        android:id="@+id/calendar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/about"
        android:layout_centerHorizontal="true"
        android:background="@drawable/calendar" />

    <ImageButton
        android:id="@+id/okan"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/calendar"
        android:layout_marginLeft="20dp"
        android:layout_toRightOf="@+id/calendar"
        android:background="@drawable/okanliyiz"/>

    <ImageButton
        android:id="@+id/about"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="20dp"
        android:layout_marginTop="140dp"
        android:layout_toLeftOf="@+id/calendar"
        android:background="@drawable/info" />

</RelativeLayout>

<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="false" >

<FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="false" />

<ListView
    android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:divider="@android:color/transparent"
    android:dividerHeight="0dp"
    android:background="#111"/>
</android.support.v4.widget.DrawerLayout>


</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我写了它的程序化部分和Drawer工作就好了,只是我不能点击它背后ImageButtons .如果我把按钮放在前面我可以点击它们,但是抽屉被留下了,这是一个可怕的景象.这是什么解决方案?我怎样才能点击抽屉后面的按钮并看到前面的抽屉?

提前致谢.

android imagebutton android-layout navigation-drawer drawerlayout

4
推荐指数
1
解决办法
2004
查看次数

SwipeRefreshLayout得到Action_Move冻结视图

我有一个普通的NavigationDrawer与不同的片段:

  • 新闻
  • 其他东西1
  • 其他东西2
  • 设置

问题 :

NewsFragment包含SwipeRefreshLayout.它第一次刷新时效果很好.

我可以将片段更改为其他东西1和2以及设置.所以我回到NewsFragment.

现在,当我刷新时,片段会冻结.

drawerLayout正常工作(打开/关闭,甚至ActionBar标题更改),但主片段保留在NewsFragment,我无法滚动.但scollListner工作(我有日志),但视图不会改变.

没有refreshView(swipeRefreshLayout的顶部),没有滚动,没有响应按钮(在焦点上,onclick)但只是在视觉上.

实际上,它就像一个响应片段在冷冻片段后面.

我在ADBLog中也有这个错误:

SwipeRefreshLayout? Got ACTION_MOVE event but don't have an active pointer id.
Run Code Online (Sandbox Code Playgroud)

任何的想法 ??

如果你问,我可以发布代码.

android android-fragments navigation-drawer drawerlayout swiperefreshlayout

4
推荐指数
1
解决办法
5852
查看次数

在导航栏中设置默认选择选项

我正在使用最新的设计支持库.我已经设置了导航视图,其中包含四个片段作为菜单项.

我想在用户启动应用程序时打开我的第一个片段(即导航抽屉中的第一个项目).

默认情况下,它会显示MainActivity布局.

我试过了

navigationView.getMenu().getInt(0).setChecked(true);
Run Code Online (Sandbox Code Playgroud)

但上面的代码没有做任何事情.

android navigation-drawer drawerlayout

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

DrawerLayout上的Horiziontal recyclerview

这是我NavigationView的布局

 <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/header"
        app:menu="@menu/meny" />
Run Code Online (Sandbox Code Playgroud)

headerLayout有一个水平RecyclerView,有一些用户可以滚动它的项目.

我的问题是每当我想要滚动RecyclerView,drawerLayout即将关闭.

有没有什么办法来支持水平RecyclerViewDrawerlayout

android drawerlayout android-recyclerview navigationview

4
推荐指数
1
解决办法
1045
查看次数

如何从 Android Studio 的 DrawerLayout 中删除高程(投影)?

如何从DrawerLayoutAndroid Studio 中的a中删除高程(投影)?我到处寻找,并尝试将app:elevation="0dp"和添加android:elevation="0dp"到我的DrawerLayoutxml 中,但它不起作用。

我什至尝试添加setElevation(0f)到我的MainActivity,但这也不起作用。

我究竟做错了什么?谢谢。

(PS 项目的基本 API 是 16...我尝试将其更改为 21,但这没有任何区别。)

这是我的 onCreate:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "MUHAHA BURP BARF BARF WHAHAHA", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });

        DrawerLayout drawer = (DrawerLayout) findViewById(drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); …
Run Code Online (Sandbox Code Playgroud)

android shadow drawerlayout

4
推荐指数
1
解决办法
1835
查看次数

如何正确组合NavigationView和BottomNavigationView

我需要使用这两个元素,这就是我目前所拥有的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.widget.DrawerLayout xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:openDrawer="start">

        <android.support.design.widget.NavigationView
            android:id="@+id/nav_view"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:fitsSystemWindows="true"
            app:headerLayout="@layout/nav_header_main"
            app:menu="@menu/activity_main_drawer" />

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

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/colorAccent"
        app:menu="@menu/menu_bottom" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我的问题是BottomNavigationView位于 前面NavigationView,但情况不应该如此(我说的是 y 索引)。我也尝试使用 aCoordinatorLayout代替,但随后卡BottomNavigationView在显示器的顶部。

android drawerlayout bottomnavigationview

4
推荐指数
1
解决办法
6727
查看次数

DrawerLayout的背景变得更暗

我想知道如何在抽屉打开时使抽屉背景变暗.我有一个透明的抽屉菜单(listView).当抽屉打开时,例如我在一个菜单下也有一个列表视图,两个列表视图重叠.Android有一个默认的屏幕变暗,但我希望它更暗.

Android使用这种格式: Color.DKGRAY

更新:

public void setScrimColor (int color)
Set a color to use for the scrim that obscures primary content while a drawer is open.

Parameters
color   Color to use in 0xAARRGGBB format.


mDrawerLayout.setDrawerShadow(new ColorDrawable(0xff00DDED), GravityCompat.START);
or
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
Run Code Online (Sandbox Code Playgroud)

java android android-layout drawerlayout

3
推荐指数
1
解决办法
5034
查看次数

折叠工具栏和DrawerLayout

我创建了一个具有视差效果的布局,我在片段中使用它.

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:id="@+id/collapsingImageView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:scaleType="fitXY"
                android:src="@drawable/baner_1"
                app:layout_collapseMode="parallax" />

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin" />   
        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <!--OTHER SCROLABLE STUFF--> 

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

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

只要片段在Activity的根目录中膨胀(进入container_main),它就可以正常工作.
所以Activity的布局如下所示:

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

现在我想在我的Activity中添加一个DrawerLayout,这就是我卡住的地方.
我通过添加DrawerLayout更改了Activity的布局.
然后将上面提到的片段膨胀成相同的container_main,但是既没有视差也没有NestedScrollView工作.

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

    <FrameLayout
        android:id="@+id/container_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">
    </FrameLayout>

    <ListView
        android:id="@+id/drawerListView"
        android:layout_width="@dimen/drawer_width"
        android:layout_height="match_parent"
        />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

使用DrawerLayout和使用折叠工具栏的诀窍在哪里?

android android-layout drawerlayout android-toolbar android-collapsingtoolbarlayout

3
推荐指数
1
解决办法
6157
查看次数

带有DrawerLayout setCheckedItem的NavigationView不起作用

我想NavigationView在应用启动时检查一项。但是我发现NavigationView.setCheckedItem(R.id.xxx)没有工作。我也尝试过navigationView.getMenu().findItem(R.id.xxx).setChecked(true),同样的结果。

我已经将checkableBehavior设置为single。

<item android:title="@string/sliding_menu_group_places">
        <menu>
            <group android:checkableBehavior="single">
                <item
                    android:id="@+id/xxx"
                    android:icon="@drawable/xxx"
                    android:title="@string/xxx" />

                <item
                    android:id="@+id/xxx"
                    android:icon="@drawable/xxx"
                    android:title="@string/xxx" />

                ...
            </group>
        </menu>
    </item>
Run Code Online (Sandbox Code Playgroud)

但是有一种方法可以工作:

drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
        }

        @Override
        public void onDrawerOpened(View drawerView) {
            navigationView.setChecked(R.id.xxx);
        }

        @Override
        public void onDrawerClosed(View drawerView) {
        }

        @Override
        public void onDrawerStateChanged(int newState) {
        }
    });
Run Code Online (Sandbox Code Playgroud)

导航项将在onDrawerOpened回调中进行检查。我在stackoverflow中进行了大量搜索,但没有一种方法适合我。谁能帮我这个忙。

编辑1

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<group android:checkableBehavior="single">
    <item
        android:id="@+id/xxx"
        android:icon="@drawable/xxx"
        android:title="@string/recent_display_name" />

    <item android:title="@string/sliding_menu_group_places">
        <menu>
            <group android:checkableBehavior="single"> …
Run Code Online (Sandbox Code Playgroud)

android drawerlayout android-navigationview

3
推荐指数
1
解决办法
1830
查看次数