资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
Android 抽屉效果的导航菜单实现抽屉效果的导航菜单看了很多应用,觉得这种侧滑的抽屉效果的菜单很好。不用切换到另一个页面,也不用去按菜单的硬件按钮,直接在界面上一个按钮点击,菜单就滑出来,而且感觉能放很多东西。关于实现,搜索了一下,有如下两种:1.用SlidingDrawer:http:/developer.android.com/reference/android/widget/SlidingDrawer.html但是不知道为什么这个类官方不建议再继续用了:Deprecated since API level 172.用DrawerLayout:http:/developer.android.com/reference/android/support/v4/widget/DrawerLayout.htmlGuide在这里:http:/developer.android.com/training/implementing-navigation/nav-drawer.html库的引用首先,DrawerLayout这个类是在Support Library里的,需要加上android-support-v4.jar这个包。然后程序中用时在前面导入import android.support.v4.widget.DrawerLayout;如果找不到这个类,首先用SDK Manager更新一下Android Support Library,然后在Android SDKextrasandroidsupportv4路径下找到android-support-v4.jar,复制到项目的libs路径,将其Add to Build Path.代码1布局: DrawerLayout的第一个子元素是主要内容,即抽屉没有打开时显示的布局。这里采用了一个FrameLayout,里面什么也没放。DrawerLayout的第二个子元素是抽屉中的内容,即抽屉布局,这里采用了一个ListView。主要的Activity(从官方实例中扒出来的):package com.example.hellodrawer;import android.os.Bundle;import android.app.Activity;import android.content.res.Configuration;import android.view.MenuItem;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;import android.support.v4.app.ActionBarDrawerToggle;import android.support.v4.view.GravityCompat;import android.support.v4.widget.DrawerLayout;public class HelloDrawerActivity extends Activity private String mPlanetTitles; private DrawerLayout mDrawerLayout; private ActionBarDrawerToggle mDrawerToggle; private ListView mDrawerList; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_hello_drawer); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); / init the ListView and Adapter, nothing new initListView(); / set a custom shadow that overlays the main content when the drawer / opens mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) /* Called when a drawer has settled in a completely closed state. */ public void onDrawerClosed(View view) invalidateOptionsMenu(); / creates call to / onPrepareOptionsMenu() /* Called when a drawer has settled in a completely open state. */ public void onDrawerOpened(View drawerView) invalidateOptionsMenu(); / creates call to / onPrepareOptionsMenu() ; / Set the drawer toggle as the DrawerListener mDrawerLayout.setDrawerListener(mDrawerToggle); / enable ActionBar app icon to behave as action to toggle nav drawer getActionBar().setDisplayHomeAsUpEnabled(true); / getActionBar().setHomeButtonEnabled(true); / Note: getActionBar() Added in API level 11 private void initListView() mDrawerList = (ListView) findViewById(R.id.left_drawer); mPlanetTitles = getResources().getStringArray(R.array.planets_array); / Set the adapter for the list view mDrawerList.setAdapt
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号