From 798b0228d8257de2bae15d09aad92861cfa69672 Mon Sep 17 00:00:00 2001 From: zengfantian Date: Thu, 12 Feb 2015 17:50:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8A=BD=E5=B1=89=E8=8F=9C?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AndroidManifest.xml | 13 ++ .../ic_arrow_back_grey600_36dp.png | Bin 0 -> 368 bytes .../ic_chevron_right_grey600_36dp.png | Bin 0 -> 324 bytes .../ic_expand_more_grey600_36dp.png | Bin 0 -> 348 bytes res/drawable-hdpi/ic_menu_black_36dp.png | Bin 0 -> 196 bytes res/layout/activity_drawerlayout.xml | 33 +++++ res/values/strings_sample.xml | 14 ++- .../sample/menu/DrawerLayoutActivity.java | 113 ++++++++++++++++++ 8 files changed, 170 insertions(+), 3 deletions(-) create mode 100644 res/drawable-hdpi/ic_arrow_back_grey600_36dp.png create mode 100644 res/drawable-hdpi/ic_chevron_right_grey600_36dp.png create mode 100644 res/drawable-hdpi/ic_expand_more_grey600_36dp.png create mode 100644 res/drawable-hdpi/ic_menu_black_36dp.png create mode 100644 res/layout/activity_drawerlayout.xml create mode 100644 src/com/zftlive/android/sample/menu/DrawerLayoutActivity.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index b659e90..193b31a 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -362,6 +362,19 @@ + + + + + + + + diff --git a/res/drawable-hdpi/ic_arrow_back_grey600_36dp.png b/res/drawable-hdpi/ic_arrow_back_grey600_36dp.png new file mode 100644 index 0000000000000000000000000000000000000000..c4cd929cfc0356534756bca53030f6b1a25caf71 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL0wmRZ7KH&Rg=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G&@^*J&_}|`tWO>_%)r1c48n{Iv*t(u z1z&i&IEF+VetW~0>yUu}>x1jnoa>_WABo1S(ycPsp0!@-#iglwB0gNVelAa7imX>@ znQ6WaeH&Q)%Fz8iF zoBu^a=B}=p0VZcU7A0twy6G-IX6T&7W4yF3+4AaxSK(jJu6!Ti6}v$skX>q8P*-z+ zfpk_^#0yh4`w5EI7k{hyr6;pDMzUaz)0$@$x^5>6XD{!1e4L3@ozo`CPwZ*S9Frwo z7L|X*3T7Q#bo@;5h7&tYzXcwCz_xpZ;rGUMf5b%AB-HoYGKMRbKNS|AHWTP)22WQ% Jmvv4FO#mgDiOT>0 literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/ic_chevron_right_grey600_36dp.png b/res/drawable-hdpi/ic_chevron_right_grey600_36dp.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b88efa29bd4c7fb0b22fd1dce9fe92a9305119 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL0wmRZ7KH&Rg=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G&@^*J&_}|`tWO>_%)r1c48n{Iv*t(u z1^0NmIEF+VetZ2O?;!&b=74hMQ)&m8?y`wJ;8>#LSgy$K_LxcN_>KKPg(hu25WKHW zC*4B%J&b8Wa?G#d&z%ilj+(8oaM}6IaNPkzZlPy8 zuF8MxDR{G3E^uSGrJWr}R~YwSo3-Kjr4Bxv&M?fZQ|)?a(LhcV)V-_ti92Y&+n O!QkoY=d#Wzp$Py*pmiSr literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/ic_expand_more_grey600_36dp.png b/res/drawable-hdpi/ic_expand_more_grey600_36dp.png new file mode 100644 index 0000000000000000000000000000000000000000..0f0ddf717cf0fb0a888ad04ac1372f6f431eb64e GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL0wmRZ7KH&Rg=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G&@^*J&_}|`tWO>_%)r1c48n{Iv*t(u z1+RFzIEF+VetYdA=OF`;)`#}mCBo(b8SVw_;valXj%waHpvWTY5WBSRf%DOA({A0- z<~YU4@@Y~HOVN4Xh);V3TR4T)d}bIV+V|?-DE79{Og{I{IOlYi@llQGg$YicUy@a` z8v@rYdnJ3Z-Ph9Yy7(u@bqg8N=G2&X=eX_Ed%7=jzV?bgA*Zryj?Y}N#Y*~7Pe@ka z_MO_6Q`^1#Cxq+W(DaTe-I=gF=jM%P8-lMXyenoqHSbsKIhV>PpTm-x@%F1Nji2Vu m`)K%8R{-peL;pB-Gv74`ecG~W@iCzP7(8A5T-G@yGywoafq_Z@ literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/ic_menu_black_36dp.png b/res/drawable-hdpi/ic_menu_black_36dp.png new file mode 100644 index 0000000000000000000000000000000000000000..b05b43a4d1c89d096272199c8bff3935340bcf44 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL0wmRZ7KH&Rg=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G&@^*J&_}|`tWO>_%)r1c48n{Iv*t(u z1#LWC977@wzrA9}$DqK$U}#czXZmZN-F&z5d|Fy!SQtXRFI(+icz@5EyQ#{)mxY_n ivKE^)fe5CWeC8|(mZi6>J{|;`!{F)a=d#Wzp$PzWTsHCm literal 0 HcmV?d00001 diff --git a/res/layout/activity_drawerlayout.xml b/res/layout/activity_drawerlayout.xml new file mode 100644 index 0000000..c08033c --- /dev/null +++ b/res/layout/activity_drawerlayout.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/res/values/strings_sample.xml b/res/values/strings_sample.xml index 62250d1..ea99a47 100644 --- a/res/values/strings_sample.xml +++ b/res/values/strings_sample.xml @@ -18,11 +18,12 @@ Activity切换过场动画示例 发送短信/拦截示例 基本常用操作测试样例 + DrawerLayout侧滑菜单 - - + 获取验证码(%1$s) + 帐号: @@ -54,12 +55,19 @@ 选择 + 提交 期待您的宝贵建议(1000字) + - + 强制打开GPS 直接拨打电话 + + + 关闭 + 打开 + diff --git a/src/com/zftlive/android/sample/menu/DrawerLayoutActivity.java b/src/com/zftlive/android/sample/menu/DrawerLayoutActivity.java new file mode 100644 index 0000000..c29108d --- /dev/null +++ b/src/com/zftlive/android/sample/menu/DrawerLayoutActivity.java @@ -0,0 +1,113 @@ +package com.zftlive.android.sample.menu; + +import android.content.Context; +import android.content.res.Configuration; +import android.os.Bundle; +import android.support.v4.app.ActionBarDrawerToggle; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +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 com.zftlive.android.R; +import com.zftlive.android.base.BaseActivity; + +/** + * 抽屉菜单 + * + * @author 曾繁添 + * @version 1.0 + * + */ +public class DrawerLayoutActivity extends BaseActivity { + private String[] mPlanetTitles; + private DrawerLayout mDrawerLayout; + private ActionBarDrawerToggle mDrawerToggle; + private ListView mDrawerList; + + @Override + public int bindLayout() { + return R.layout.activity_drawerlayout; + } + + @Override + public void initView(View view) { + mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + + // 绑定Listview + mPlanetTitles = getResources().getStringArray(R.array.anim_type); + mDrawerList = (ListView) findViewById(R.id.left_drawer); + mDrawerList.setAdapter(new ArrayAdapter(this, + android.R.layout.simple_list_item_1, mPlanetTitles)); + mDrawerList.setOnItemClickListener(new OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, + int position, long id) { + setTitle(mPlanetTitles[position]); + mDrawerList.setItemChecked(position, true); + mDrawerLayout.closeDrawer(mDrawerList); + } + }); + + // 抽屉菜单 + mDrawerLayout.setDrawerShadow(R.drawable.view_fixheadtable_shadow_left, + GravityCompat.START); + mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, + R.drawable.ic_menu_black_36dp, R.drawable.ic_menu_black_36dp, + R.drawable.ic_expand_more_grey600_36dp) { + public void onDrawerClosed(View view) { + invalidateOptionsMenu(); + } + + public void onDrawerOpened(View drawerView) { + invalidateOptionsMenu(); + } + }; + mDrawerLayout.setDrawerListener(mDrawerToggle); + } + + @Override + public void doBusiness(Context mContext) { + + // ActionBar配置 Note: getActionBar() Added in API level 11 + getActionBar().setDisplayShowHomeEnabled(true); + getActionBar().setHomeButtonEnabled(true); + getActionBar().setDisplayUseLogoEnabled(true); + getActionBar().setLogo(R.drawable.ic_menu_black_36dp); + } + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + super.onPostCreate(savedInstanceState); + mDrawerToggle.syncState(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (mDrawerToggle.onOptionsItemSelected(item)) { + return true; + } + return super.onOptionsItemSelected(item); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + mDrawerToggle.onConfigurationChanged(newConfig); + } + + @Override + public void resume() { + + } + + @Override + public void destroy() { + + } + +} \ No newline at end of file