安卓Toolbar和DrawerLayout抽屉的使用

来源:互联网 发布:查询行业数据的网站 编辑:程序博客网 时间:2024/05/18 01:54

toolbar和drwerlayout这两个可以分开写的


主布局

public class MainActivity extends AppCompatActivity {    private Toolbar tool;    private DrawerLayout dl;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //实例化控件        tool=(Toolbar)findViewById(R.id.tool);        dl=(DrawerLayout)findViewById(R.id.dl);        //设置图标        tool.setNavigationIcon(R.mipmap.ic_launcher);        //图标的点击事件        tool.setNavigationOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                //判断drawer抽屉是否开启    如果是开启的话就关闭              if(dl.isDrawerOpen(GravityCompat.START)){                  dl.closeDrawer(GravityCompat.START);              }else {                  dl.openDrawer(GravityCompat.START);              }            }        });        //设置logo图片        tool.setLogo(R.mipmap.ic_launcher);        //设置大标题        tool.setTitle("大标题");        //设置小标题        tool.setSubtitle("小标题");        //设置菜单        tool.inflateMenu(R.menu.menu);        //菜单点击事件        tool.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {            @Override            public boolean onMenuItemClick(MenuItem item) {                switch (item.getItemId()){                    case R.id.it1:                        Toast.makeText(MainActivity.this, "我", Toast.LENGTH_SHORT).show();                        break;                    case R.id.it2:                        Toast.makeText(MainActivity.this, "是", Toast.LENGTH_SHORT).show();                        break;                    case R.id.it3:                        Toast.makeText(MainActivity.this, "你", Toast.LENGTH_SHORT).show();                        break;                }                return false;            }        });        //给drawer设置点击事件        dl.setDrawerListener(new DrawerLayout.DrawerListener() {            //滑动时调用此方法            @Override            public void onDrawerSlide(View drawerView, float slideOffset) {                Log.d("", "onDrawerSlide: ");            }            //打开时调用此方法            @Override            public void onDrawerOpened(View drawerView) {            }            //关闭时调用此方法            @Override            public void onDrawerClosed(View drawerView) {            }            @Override            public void onDrawerStateChanged(int newState) {            }        });    }}





主布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"    android:layout_width="match_parent" android:layout_height="match_parent"    tools:context="com.example.myapplication.MainActivity"    android:orientation="vertical">    <android.support.v7.widget.Toolbar        android:id="@+id/tool"        android:layout_width="match_parent"        android:layout_height="50dp">    </android.support.v7.widget.Toolbar>    <android.support.v4.widget.DrawerLayout        android:id="@+id/dl"        android:layout_width="match_parent"        android:layout_height="match_parent">    </android.support.v4.widget.DrawerLayout></LinearLayout>


menu的代码

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android">    <item        android:id="@+id/it1"        android:title="我"></item>    <item        android:id="@+id/it2"        android:title="是"></item>    <item        android:id="@+id/it3"        android:title="你"></item></menu>


原创粉丝点击