DrawerLayout的代碼

package zhanghaijiao.bawei.com.drawerlayout_demo;

 

import android.support.v4.widget.DrawerLayout;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.ListView;

import android.widget.RelativeLayout;

import android.widget.Toast;

 

import java.util.ArrayList;

import java.util.List;

 

public class MainActivity extends AppCompatActivity {

    private List<String> data=new ArrayList<>();

    private DrawerLayout drawerLayout;

    private RelativeLayout menu;

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

 

        drawerLayout = findViewById(R.id.drawer);

        menu = findViewById(R.id.menu);

        Button b=findViewById(R.id.btnOpen);

        b.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                drawerLayout.openDrawer(menu);//打開菜單

            }

        });

 

 

 

        ListView listView=findViewById(R.id.lv);

 

        for(int i=0;i<20;i++){

            data.add("item"+i);

        }

 

        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);

        listView.setAdapter(adapter);

 

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override

            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

                //關閉菜單

                drawerLayout.closeDrawer(menu);

 

                //動態添加fragment

                getSupportFragmentManager().beginTransaction().replace(R.id.frcontent,new MyFragment()).commit();

 

            }

        });

 

        //添加監聽事件

        drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {

            @Override

            public void onDrawerSlide(View drawerView, float slideOffset) {

                Log.d("zzz","--"+slideOffset);

 

            }

 

            //

            @Override

            public void onDrawerOpened(View drawerView) {

                Toast.makeText(MainActivity.this,"打開了!",Toast.LENGTH_SHORT).show();

 

            }

 

            @Override

            public void onDrawerClosed(View drawerView) {

                Toast.makeText(MainActivity.this,"關閉了!",Toast.LENGTH_SHORT).show();

            }

 

            /**

             * 當抽屜滑動狀態改變的時候被調用

             * 狀態值是STATE_IDLE(閒置--0, STATE_DRAGGING(拖拽的--1, STATE_SETTLING(固定--2)中之一。

             * 抽屜打開的時候,點擊抽屜,drawer的狀態就會變成STATE_DRAGGING,然後變成STATE_IDLE

             */

            @Override

            public void onDrawerStateChanged(int newState) {

 

            }

        });

 

 

 

    }

}

發佈了39 篇原創文章 · 獲贊 5 · 訪問量 8537
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章