码迷,mamicode.com
首页 > 其他好文 > 详细

UI进阶2-滑动菜单

时间:2019-03-20 17:29:36      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:draw   sel   enabled   直接   滑动   .sh   gets   res   raw   

在main.xml中使用DrawerLayout,它允许在布局中放入两个直接子控件,第一个是主屏幕显示内容,第二个是滑动屏幕显示内容

<?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"
    android:id="@+id/draw_lay"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
    >
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolBar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            />
    </FrameLayout>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:text="滑动界面"
        android:textSize="30sp"
        android:background="#FFF"/><1--layout_gravity必须设置,可为left、right、start设置滑动方向-->

</android.support.v4.widget.DrawerLayout>

此时滑动菜单就可以显示了,但有时用户不知道滑动菜单的存在,所以我们在标题栏中在加入一个图标以供用户点击

MainActivity中的代码

package com.example.materialtest;

import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private DrawerLayout mDrawer;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar=(Toolbar)findViewById(R.id.toolBar);
        setSupportActionBar(toolbar);
        mDrawer=(DrawerLayout)findViewById(R.id.draw_lay);//获取滑动菜单实例
        ActionBar actionBar=getSupportActionBar();//获取ToolBar实例
        if(actionBar!=null){
            actionBar.setDisplayHomeAsUpEnabled(true);//显示导航按钮
            actionBar.setHomeAsUpIndicator(R.drawable.f);//此时导航按钮是后退键,我们把它换掉
        }
    }
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.toolbar,menu);
        return true;

    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId())
        {
            case android.R.id.home://该按钮WieHomeAsUp按钮,名称不可变
                mDrawer.openDrawer(GravityCompat.START);//点击时滑出滑动菜单
                break;
            case R.id.item1:
                Toast.makeText(this,"你点击了第一个按钮",Toast.LENGTH_SHORT).show();
                break;
            case R.id.item2:
                Toast.makeText(this,"你点击了第二个按钮",Toast.LENGTH_SHORT).show();
                break;
            case R.id.item3:
                Toast.makeText(this,"你点击了第三个按钮",Toast.LENGTH_SHORT).show();
                break;
        }
        return true;
    }
}

 

UI进阶2-滑动菜单

标签:draw   sel   enabled   直接   滑动   .sh   gets   res   raw   

原文地址:https://www.cnblogs.com/837634902why/p/10566038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!