首先, DrawerLayout这个类是在Support Library里的,需要加上android-support-v4.jar这个包。 然后程序中用时在前面导入import android.support.v4.widget.DrawerLayout; 如果找不到这个类,首先用SDK Manager更新一下Android Support Library,然后在Android SDK/extras/android/support/v4

路径下找到android-support-v4.jar,复制到项目的libs路径,将其Add to Build Path.

http://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html

打开抽屉: DrawerLayout .openDrawer(); 关闭抽屉:DrawerLayout.closeDrawer( );

要注意这几个原则:

1.主view(content view) 必须是drawerlayout的第一个子节点

2.主view宽和高必需match_parent

3.drawer view必须指定android:layout_gravity属性,如果值为“start”,会根据系统的语言顺序自动决定从左滑还是从右

4. drawer view宽度不能太宽,最好不要超过320dp

<android.support.v4.widget.DrawerLayoutxmlns: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" >        <TextView android:text="@string/hello_world" android:layout_width="wrap_content"            android:id="@+id/textView1"            android:layout_height="wrap_content" />    </FrameLayout>    <!-- 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>
public class MainActivity extends ActionBarActivity implements  ResponseListener<String> {    private TextView mTextView;    private ListView mListView;    private DrawerLayout mDrawerLayout;    private ActionBarDrawerToggle mDrawerToggle;    private ArrayList<String> list=new ArrayList<String>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);        list.add("test1");        list.add("test2");        list.add("test3");        list.add("test4");        list.add("test5");        mListView=(ListView)findViewById(R.id.left_drawer);        mListView.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, list));        mTextView=(TextView)findViewById(R.id.textView1);        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                mTextView.setText(list.get(position));                mDrawerLayout.closeDrawer(mListView);               // mDrawerLayout.openDrawer(mListView);            }        });    }}

更多相关文章

  1. Android3.2运行报错:[2011-09-09 14:50:21 - Emulator] invalid c
  2. RK3326 Android(安卓)8.1 为自己的APK的服务默认开启无障碍权限,
  3. android 最全 各种UI效果 UI框架 github框架总结大全
  4. Android关于java.lang.NoClassDefFoundError问题
  5. Android之emulator: ERROR及logcat不能提示问题
  6. android 开源和一些博客总结
  7. Android入门(3) 搭建开发环境
  8. Android(安卓)gdb调试
  9. No IDEA annotations attached to the JDK 1.8 (C:\Program Fil

随机推荐

  1. WCF 实例 —— Android 短信助手 (WCF +
  2. Android(安卓)- SQLite
  3. 使用Android(安卓)OpenGL ES 2.0绘图之二
  4. Android面试过程描述
  5. 华为发布全新IDE:DevCro Studio,Facebook正
  6. 微信稳居Android App排行榜4月份国内榜首
  7. 谈Android终端厂商的如何建设 ——
  8. Android Socket与HTTPS校验
  9. Android(安卓)点击通知栏消息打开activit
  10. 一起Talk Android吧(第二百六十五回:Androi