1.新建项目时将最低jdk版本调到14,这是为了防止support-v7这个东西出现,这个东西出现真是祸害无穷
2.新建完项目,找到android-support-v4.jar这个文件,导入到libs目录下,并加入构建路径中。
3.使用android.support.v4.widget.DrawerLayout这个类来做布局,代码如下所示:
<?xml version="1.0" encoding="utf-8"?>
<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">
<!-- 这是主界面的定义,即在不出现侧边栏之前的界面的定义 -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<!-- 下面是侧边栏的定义 -->
<ListView android:id="@+id/left_drawer"
android:layout_width="150dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="#5F6F6C"
android:dividerHeight="1dp"
android:background="#8BF0DE"/>
<!-- 其中的layout_gravity属性指定是从哪个方向滑动手指会出现侧边栏 -->
</android.support.v4.widget.DrawerLayout>
4.在主界面的Activity中,为ListView来添加菜单项:
package com.example.navigation;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView navigationBarListView;
private String[] itemArray = new String[]{"张三","李四","王五","钱六","赵七"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.navigation_item, itemArray);
//这儿要使用R.layout.navigation_item,而不是R.id.navigation_item
navigationBarListView = (ListView) findViewById(R.id.left_drawer);
navigationBarListView.setAdapter(adapter);
}
}
5.这样,一个简单的侧边栏就诞生啦。如果自己有其他的需求,只需要相应的做少许改动即可。
2.新建完项目,找到android-support-v4.jar这个文件,导入到libs目录下,并加入构建路径中。
3.使用android.support.v4.widget.DrawerLayout这个类来做布局,代码如下所示:
<?xml version="1.0" encoding="utf-8"?>
<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">
<!-- 这是主界面的定义,即在不出现侧边栏之前的界面的定义 -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<!-- 下面是侧边栏的定义 -->
<ListView android:id="@+id/left_drawer"
android:layout_width="150dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="#5F6F6C"
android:dividerHeight="1dp"
android:background="#8BF0DE"/>
<!-- 其中的layout_gravity属性指定是从哪个方向滑动手指会出现侧边栏 -->
</android.support.v4.widget.DrawerLayout>
4.在主界面的Activity中,为ListView来添加菜单项:
package com.example.navigation;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView navigationBarListView;
private String[] itemArray = new String[]{"张三","李四","王五","钱六","赵七"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.navigation_item, itemArray);
//这儿要使用R.layout.navigation_item,而不是R.id.navigation_item
navigationBarListView = (ListView) findViewById(R.id.left_drawer);
navigationBarListView.setAdapter(adapter);
}
}
5.这样,一个简单的侧边栏就诞生啦。如果自己有其他的需求,只需要相应的做少许改动即可。