在我们设置drawerlayout的时候,需要在布局文件中添加这两个属性:
android:layout_gravity="left" android:choiceMode="singleChoice"主界面:
import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.LinearLayout; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ListView lv; private ListView lv1; private List<String> list; private List<String> datalist; private DrawerLayout drawerLayout; private LinearLayout linear; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); lv1 = (ListView) findViewById(R.id.lv1); drawerLayout = (DrawerLayout) findViewById(R.id.drawer); linear = (LinearLayout) findViewById(R.id.linear); list = new ArrayList<>(); datalist = new ArrayList<>(); initData(); lv.setAdapter(new MyAdapter()); lv1.setAdapter(new MyAdapter1()); //关闭 drawerLayout.closeDrawer(linear); } private void initData() { for (int i = 0; i < 20; i++) { list.add("安居客服哈空间发挥" + i); } for (int i = 0; i < 6; i++) { datalist.add("我的" + i); } } class MyAdapter extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { view = View.inflate(MainActivity.this, R.layout.item, null); TextView tv = view.findViewById(R.id.tv); tv.setText(list.get(i)); return view; } } class MyAdapter1 extends BaseAdapter{ @Override public int getCount() { return datalist.size(); } @Override public Object getItem(int i) { return datalist.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { view = View.inflate(MainActivity.this, R.layout.item, null); TextView tv = view.findViewById(R.id.tv); tv.setText(datalist.get(i)); return view; } } }
布局:
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout 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:id="@+id/drawer" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.bwie.day10_rikao.MainActivity"> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent"></ListView> <LinearLayout android:id="@+id/linear" android:layout_width="300dp" android:layout_height="match_parent" android:layout_gravity="left" android:choiceMode="singleChoice" android:background="#f00" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="150dp" android:orientation="horizontal"> <ImageView android:layout_width="150dp" android:layout_height="100dp" android:src="@mipmap/ic_launcher" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="奥术大师" android:textSize="24sp" /> </LinearLayout> <ListView android:id="@+id/lv1" android:layout_width="match_parent" android:layout_height="match_parent"></ListView> </LinearLayout> </android.support.v4.widget.DrawerLayout>