63 Android 抽屉效果的实现 + ActionBar Menu
来源:互联网 发布:淘宝一千零一夜2 编辑:程序博客网 时间:2024/05/17 22:21
layout文件下 activity_main.xml (布局文件的代码)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" > <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <ListView android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="left" android:background="#ffffff" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" /> </android.support.v4.widget.DrawerLayout></RelativeLayout>
values 文件下 strings.xml (包含一个数组)
<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">Android_v4_DrawerLayout</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> <string name="drawer_open">打开</string> <string name="drawer_close">关闭</string> <string-array name="allCity"> <item>北京</item> <item>上海</item> <item>深圳</item> <item>广州</item> <item>郑州</item> <item>香港</item>></string-array></resources>
MianActivity.java (主代码)
package com.example.android_v4_drawerlayout;import android.os.Bundle;import android.app.Activity;import android.content.res.Configuration;import android.support.v4.app.ActionBarDrawerToggle;import android.support.v4.view.GravityCompat;import android.support.v4.widget.DrawerLayout;import android.view.Menu;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;public class MainActivity extends Activity {private String[] mPlaneTitles;private DrawerLayout mDrawerLayout;private ActionBarDrawerToggle mDrawerToggle;private ListView mDrawerList;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// find by idmDrawerLayout = (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.ic_launcher, GravityCompat.START); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_launcher, 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);mPlaneTitles = getResources().getStringArray(R.array.allCity);mDrawerList.setAdapter(new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1, mPlaneTitles));mDrawerList.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {// TODO Auto-generated method stubmDrawerList.setItemChecked(arg2, true);setTitle(mPlaneTitles[arg2]);mDrawerLayout.closeDrawer(mDrawerList);}});}@Overrideprotected void onPostCreate(Bundle savedInstanceState) {super.onPostCreate(savedInstanceState);// Sync the toggle state after onRestoreInstanceState has occurred.mDrawerToggle.syncState();}@Overridepublic void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);mDrawerToggle.onConfigurationChanged(newConfig);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Pass the event to ActionBarDrawerToggle, if it returns// true, then it has handled the app icon touch eventif (mDrawerToggle.onOptionsItemSelected(item)) {return true;}// Handle your other action bar items...return super.onOptionsItemSelected(item);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
点击列表文件 选中城市
点击actionBar Menu 返回
0 0
- 63 Android 抽屉效果的实现 + ActionBar Menu
- android抽屉效果的实现
- Android 抽屉效果的实现
- ActionBar、Drawerlayout、ActionBarDrawerToggle实现抽屉效果
- 实现Android 抽屉效果
- android 实现抽屉效果
- Android 抽屉效果实现
- android 抽屉效果实现
- Android 抽屉效果的导航菜单实现
- Android:抽屉效果的导航菜单实现
- Android 抽屉效果的导航菜单实现
- Android 抽屉效果的导航菜单实现
- android自带抽屉效果的实现
- Android 抽屉效果的导航菜单实现
- Android 抽屉效果的导航菜单实现
- Android 抽屉效果的导航菜单实现
- Android 抽屉效果的导航菜单实现
- Android 抽屉效果的导航菜单实现
- [Leetcode] Largest Rectangle in Histogram (Java)
- 命令行查看memcache状态
- Js与下拉列表处理问题
- ShareSDK for iOS 2.8.2发布
- 如何去掉UltraEdit提示“希望转换到DOS格式吗”
- 63 Android 抽屉效果的实现 + ActionBar Menu
- 一段代码,引发的思考。
- 购票解读——4
- 有用的设计工具推荐
- oracle 导入数据显示为问号和乱码的处理办法
- Oracle12c设置PDB企业管理器登录端口
- 应用商城服务端获取apk版本号
- ShareSDK for Android 2.3.2发布
- mongodb query promise sample