android中实现一个DrawerLayout滑动菜单
2018-04-07 09:48
603 查看
activity_drawer_layout.xml:
<?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/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
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/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</FrameLayout>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:textSize="30sp"
android:textColor="#FFFFFF"
android:background="#000000"
android:text="This is menu" />
</android.support.v4.widget.DrawerLayout>DrawerLayoutActivity.java:
package com.example.administrator.fromnew;
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.MenuItem;
public class DrawerLayoutActivity extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drawer_layout);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);//得到DrawerLayout实例
ActionBar actionBar = getSupportActionBar();//得到ActionBar实例
if(actionBar != null){
actionBar.setDisplayHomeAsUpEnabled(true);//让导航栏按钮显示出来,Toolbar最左侧的按钮就是HomeAsUp
actionBar.setHomeAsUpIndicator(R.drawable.arrow_right_32px);//设置导航按钮图标
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case android.R.id.home://HomeAsUp的ID永远都是android.R.id.home
mDrawerLayout.openDrawer(GravityCompat.START);//调用方法将滑动菜单展开,这里传入参数GravityCompat.START是为了保证这里的行为和XML中定义的一致
break;
}
return true;
}
}
<?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/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
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/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</FrameLayout>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:textSize="30sp"
android:textColor="#FFFFFF"
android:background="#000000"
android:text="This is menu" />
</android.support.v4.widget.DrawerLayout>DrawerLayoutActivity.java:
package com.example.administrator.fromnew;
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.MenuItem;
public class DrawerLayoutActivity extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drawer_layout);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);//得到DrawerLayout实例
ActionBar actionBar = getSupportActionBar();//得到ActionBar实例
if(actionBar != null){
actionBar.setDisplayHomeAsUpEnabled(true);//让导航栏按钮显示出来,Toolbar最左侧的按钮就是HomeAsUp
actionBar.setHomeAsUpIndicator(R.drawable.arrow_right_32px);//设置导航按钮图标
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case android.R.id.home://HomeAsUp的ID永远都是android.R.id.home
mDrawerLayout.openDrawer(GravityCompat.START);//调用方法将滑动菜单展开,这里传入参数GravityCompat.START是为了保证这里的行为和XML中定义的一致
break;
}
return true;
}
}
相关文章推荐
- Android中利用DrawerLayout+NavigationView实现滑动菜单效果
- Android 左右滑动菜单 DrawerLayout简单实现
- [AndroidUI]使用DrawerLayout实现侧滑菜单
- Android使用DrawerLayout实现仿QQ双向侧滑菜单
- Android 高仿QQ5.2双向侧滑菜单DrawerLayout实现源码
- Android组件之DrawerLayout实现抽屉菜单
- Android 使用DrawerLayout实现抽屉效果的导航菜单
- Android DrawerLayout+NavigationView布局实现左右两边侧滑菜单
- android开发游记:DrawerLayout 实现抽屉效果的导航菜单
- Drawerlayout实现左右nineoldandroids-2.4.0.jar双向侧滑菜单
- android一个向上滑动显示菜单,向下滑动隐藏菜单实现
- android自带DrawerLayout滑动菜单的使用
- android 使用drawerLayout实现侧滑菜单
- Android Toolbar+DrawerLayout+PagerSlidingTabStrip实现仿csdn侧滑菜单
- android 5.X Toolbar+DrawerLayout实现抽屉菜单
- Android抽屉菜单DrawerLayout的实现案例
- android 使用DrawerLayout实现侧滑菜单
- Android DrawerLayout抽屉效果的导航菜单实现
- Android开发-DrawerLayout实现侧滑菜单(1)-自定义ListView的实现&沉浸式状态栏
- 基于Android官方DrawerLayout实现抽屉导航菜单