DrawerLayout侧拉

来源:互联网 发布:淘宝保存草稿箱找不到 编辑:程序博客网 时间:2024/05/21 19:33

在我们设置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>