官网:https://developer.android.com/training/implementing-navigation/nav-drawer.html

贴上主要的逻辑和布局文件:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>                  

这里需要注意一下:content主界面一定要定义在drawer的前面,另外,Android:layout_gravity="start"(从左往右)或者android:layout_gravity="end"(从右往左),这个属性是必须要定义的,不然出现下面的异常:

Android DrawerLayout实现抽屉效果实例代码_第1张图片

MainActivity.java

package com.jackie.drawerlayoutdemo; import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; public class MainActivity extends AppCompatActivity {   private String mTitle;   private DrawerLayout mDrawerLayout;   private ListView mDrawerMenu;   @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     initView();     initData();     //默认打开抽屉     mDrawerLayout.openDrawer(mDrawerMenu);   }   private void initView() {     mTitle = getResources().getString(R.string.app_name);     mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);     mDrawerMenu = (ListView) findViewById(R.id.drawer_menu);   }   private void initData() {     //数组定义在xml 文件中     String[] items = getResources().getStringArray(R.array.left_drawer_items);     ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_expandable_list_item_1);     adapter.addAll(items);     mDrawerMenu.setAdapter(adapter);     mDrawerMenu.setSelection(0);     //设置点击item事件     mDrawerMenu.setOnItemClickListener(new AdapterView.OnItemClickListener() {       @Override       public void onItemClick(AdapterView<?> parent, View view, int position, long id) {         mTitle = ((TextView) view).getText().toString();         switchFragment();         mDrawerLayout.closeDrawer(mDrawerMenu);         mDrawerMenu.setSelection(position);       }     });   }   private void switchFragment() {     getSupportFragmentManager().beginTransaction().replace(R.id.drawer_container, new ItemFragment(mTitle)).commit();     getSupportActionBar().setTitle(mTitle);   } } 

效果图如下:

Android DrawerLayout实现抽屉效果实例代码_第2张图片

以上所述是小编给大家介绍的Android DrawerLayout实现抽屉效果实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多相关文章

  1. 2011.07.05(3)——— android PopupWindow 以及activity切换的动
  2. 收集android上开源的酷炫的交互动画和视觉效果:Interactive-anima
  3. android超炫button按钮动画效果
  4. android实现图片模糊背景效果
  5. Android 判断网络状态实例详解
  6. android的WebView简单实例
  7. Android 系统自带Activity效果
  8. android里面模拟按Home键的效果
  9. android使用属性动画执行抖动效果

随机推荐

  1. 【转】Android数字证书
  2. android里的style
  3. android 休眠的体制
  4. Android调用系统关机与重启功能
  5. Android(安卓)数字证书详解
  6. Android的Handler总结
  7. Android(安卓)Dependency Injection Libr
  8. 用android控制arduino(wifi版)
  9. Android遇上打印机
  10. android中延迟执行某个任务