Drawer侧滑

XML文件布局侧滑,如一下代码:
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/draw"
    android:layout_width="match_parent"
  1.  和drawerLayout配合需要配这两个属性 
  2.   android:layout_gravity="left"//这个值必须要指定,start是从左侧拖拽  
  3. 出菜单,end是从右侧  
  4.        android:choiceMode="singleChoice" 

 android:layout_height="match_parent" >

<TextView android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="DJFKLS"/>

<ListView android:id="@+id/li"

android:layout_width="match_parent"

android:layout_height="match_parent" />

</android.support.v4.widget.DrawerLayout>在MainActivity里的所有方法如一下代码:

package day_zhoukao.myapplication;

import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private DrawerLayout dra;
    private ListView li;
    List<String> list=new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取侧滑ID
        dra = findViewById(R.id.draw);
        //获取ListviewID
        li = findViewById(R.id.li);
        //调用初始化方法
        initData();
        Log.d("tag", "getView:++++++++++++ "+list.toString());
        //获取ListView适配器
        li.setAdapter(new BaseAdapter() {

            private Holder ho;

            @Override
            public int getCount() {
                return list.size();
            }

            @Override
            public Object getItem(int i) {
                return null;
            }

            @Override
            public long getItemId(int i) {
                return 0;
            }

            @Override
            public View getView(int i, View view, ViewGroup viewGroup) {

                if (view==null){
                    ho = new Holder();
                    view= View.inflate(MainActivity.this, R.layout.two, null);
                    ho.te = view.findViewById(R.id.te);
                    view.setTag(ho);
                }else {
                    ho = (Holder) view.getTag();
                }

                ho.te.setText(list.get(i));
                return view;
            }
        });
        //给Listview设置Item监听事件
        li.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                //点击Item关闭侧滑

                dra.closeDrawers();
            }
        });
    }
    class Holder{
        TextView te;
    }
    //初始化一个方法
    public void initData(){
        for (int i = 0; i <20 ; i++) {
            list.add("侧滑"+i);
        }
        

    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值