Articles of drawerlayout

在onTouchEvent中的CoordinatorLayout NullPointerException

我正在获取CoordinatorLayout onTouchEvent的NullPointerException 。 我正在使用DrawerLayout与Android支持AppCompat v23.0.0库的CollapsingToolbarLayout 。 我的观察是在滚动CollapsingToolbarLayout或点击抽屉项目时随机发生崩溃。 有没有人遇到这个问题? 任何工作,以避免这种exception? logcat的: 08-22 15:16:34.657: E/AndroidRuntime(27596): java.lang.NullPointerException: Attempt to invoke virtual method 'float android.view.MotionEvent.getX()' on a null object reference 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.view.View.onTouchEvent(View.java:9321) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.support.design.widget.CoordinatorLayout.onTouchEvent(CoordinatorLayout.java:449) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.view.View.dispatchTouchEvent(View.java:8388) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2398) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2158) 08-22 15:16:34.657: E/AndroidRuntime(27596): at […]

在Android应用中使用DrawerLayout时手势不起作用

我有一个单一的活动Android应用程序。 此活动使用此布局: <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"> <!– The main content view –> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <!– The navigation drawer –> <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> 然后,在我的源文件中,我有两个在构造函数中定义的手势检测器: mDetector = new GestureDetectorCompat(this, new CustomGestureListener()); mScaleDetector = new ScaleGestureDetector(this, new CustomScaleGestureListener()); 而我正在重写onTouchEvent这种方式: @Override public boolean onTouchEvent(MotionEvent event) { if (event.getPointerCount() […]

toolbar.setNavigationOnClickListener不起作用

toolbar.setNavigationOnClickListener这个函数不工作不知道为什么。 activity_main.xml布局 <android.support.design.widget.CoordinatorLayout 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="match_parent" android:fitsSystemWindows="true" tools:context=".login.LoginActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay"> </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main" /> container_main.xml布局 <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" android:fitsSystemWindows="true"> <FrameLayout android:id="@+id/frame_container" android:layout_width="match_parent" android:layout_height="match_parent" /> <!– Listview to display slider menu –> <ListView android:id="@+id/list_slidermenu" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@color/list_background" android:choiceMode="singleChoice" android:divider="@color/list_divider" android:dividerHeight="1dp" android:listSelector="@drawable/list_selector" /> […]

当DrawerLayout可见时,不要调暗主要内容?

在Android中使用DrawerLayout时,打开抽屉会导致主内容区域变暗。 有什么方法可以避免这种情况,所以在抽屉不在的时候,主要内容保持同样可见?

如何在NavigationView中添加页脚button

我正在按照“带有页脚的Androiddevise库NavigationView”来添加NavigationView底部的button。 问题是只有最后一个NavigationView出现,它占据了整个屏幕高度。 这是我的布局: <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_width="match_parent" android:layout_height="match_parent"> <!– Activity here –> <android.support.design.widget.NavigationView android:id="@+id/navigation_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start"> <android.support.design.widget.NavigationView android:id="@+id/navigation_menu_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="top" app:menu="@menu/menu_drawer"/> <android.support.design.widget.NavigationView android:id="@+id/navigation_footer_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" app:menu="@menu/menu_drawer_footer"/> </android.support.design.widget.NavigationView> </android.support.v4.widget.DrawerLayout> 结果如下: 我怎样才能解决这个问题?

Android的DrawerLayout不能使用ViewPager?

我已经在一个DrawerLayout里面实现了ViewPager ,但它正常工作,但是Drawer菜单列表视图不能正确显示,它将显示在ViewPager选项卡下面的操作栏。希望下面的图可以给你一个想法。 我正在使用actionbarsherlock库。 我如何显示抽屉菜单列表视图下面的行动栏? 我曾试过。 Activity OnCreate(): setContentView(R.layout.activity_layout); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.left_drawer); mLinearLayout = (LinearLayout)findViewById(R.id.ll_viewpager_layout); // set a custom shadow that overlays the main content when the drawer opens mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); // set up the drawer's list view with items and click listener mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); mDrawerToggle = new ActionBarDrawerToggle( this, /* […]

ActionBarDrawerToggle的ActionBarActivity – 不使用drawerImageRes

从这个android示例工作,我试图创build一个使用支持版本(android.support.v4和android.support.v7)的应用程序。 这个例子创build了一个如下所示的菜单抽屉 和我的代码得到这个 注意图标是不同的,它的移动方式是不同的,在我的版本中它不会移动。 示例代码 public class MainActivity extends Activity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; private CharSequence mDrawerTitle; private CharSequence mTitle; private String[] mPlanetTitles; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTitle = mDrawerTitle = getTitle(); mPlanetTitles = getResources().getStringArray(R.array.planets_array); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.left_drawer); // set […]

如何在设备屏幕的右侧设置抽屉布局图标?

我已经创build了抽屉布局示例应用程序,它工作正常,我的问题是抽屉布局工作在从右到左完美,但我想移动图标左侧到右侧,但它不工作给我你的build议..! 这可能吗? <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" android:layout_gravity="right" > <!– The main content view –> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <!– The navigation drawer –> <ListView android:id="@+id/drawer_list" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="right" android:background="#111" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" /> </android.support.v4.widget.DrawerLayout>

如何将项目添加到NavigationView中的菜单组

在Android的文字游戏中,我目前有一个硬编码的菜单,从left_drawer_menu.xml膨胀,由3组组成(轮到我了,对手轮到最后是其他东西): mLeftDrawer = (NavigationView) findViewById(R.id.left_drawer); mLeftDrawer.setNavigationItemSelectedListener( new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(final MenuItem menuItem) { Menu menu = mLeftDrawer.getMenu(); if (menuItem.getGroupId() == R.id.my_move) { menu.setGroupCheckable(R.id.my_move, true, true); menu.setGroupCheckable(R.id.his_move, false, false); menu.setGroupCheckable(R.id.extras, false, false); } else if (menuItem.getGroupId() == R.id.his_move) { menu.setGroupCheckable(R.id.my_move, false, false); menu.setGroupCheckable(R.id.his_move, true, true); menu.setGroupCheckable(R.id.extras, false, false); } else if (menuItem.getGroupId() == […]

如何在DrawViewLayout的NavigationView中设置未读的通知计数?

我使用Androiddevise支持库在DrawerLayout中创build了一个NavigationView <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_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <!– other views –> <android.support.design.widget.NavigationView android:id="@+id/navigation" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:menu="@menu/my_navigation_items" /> </android.support.v4.widget.DrawerLayout> my_navigation_items.xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/bookmarks_drawer" android:icon="@drawable/ic_drawer_bookmarks" android:title="@string/bookmarks" /> <item android:id="@+id/alerts_drawer" android:icon="@drawable/ic_drawer_alerts" android:title="@string/alerts" /> <item android:id="@+id/settings_drawer" android:icon="@drawable/ic_drawer_settings" android:title="@string/settings" /> </group> </menu> 现在,我想为每个NavigationView项目设置未读通知计数器,如下图所示: 如何在NavigationView项目上设置未读的通知计数器?