package cn.com.demo;
import android.os.Build;
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 DrawerLayoutDemoActivity 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.main);
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.icon, R.string.drawer_open, R.string.drawer_close) {
/** Called when a drawer has settled in a completely closed state. */
public void onDrawerClosed(View view) {
if (Build.VERSION.SDK_INT > 10) {
invalidateOptionsMenu(); // creates call to
// onPrepareOptionsMenu()
}
}
/** Called when a drawer has settled in a completely open state. */
public void onDrawerOpened(View drawerView) {
if (Build.VERSION.SDK_INT > 10) {
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.list_array);
// Set the adapter for the list view
mDrawerList.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, mPlanetTitles));
// Set the list's click listener
mDrawerList.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// Highlight the selected item, update the title, and close the
// drawer
mDrawerList.setItemChecked(position, true);
setTitle(mPlanetTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
});
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Sync the toggle state after onRestoreInstanceState has occurred.
mDrawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mDrawerToggle.onConfigurationChanged(newConfig);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Pass the event to ActionBarDrawerToggle, if it returns
// true, then it has handled the app icon touch event
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
// Handle your other action bar items...
return super.onOptionsItemSelected(item);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
DrawerLayout控件的Demo
共28个文件
class:10个
xml:4个
png:3个
需积分: 3 21 下载量 98 浏览量
2015-02-24
21:10:37
上传
评论
收藏 804KB RAR 举报
温馨提示
android官方提供的滑动菜单控件DrawerLayout的一个Demo,写的比较简单
资源推荐
资源详情
资源评论
收起资源包目录
DrawerLayoutDemo.rar (28个子文件)
DrawerLayoutDemo
bin
classes.dex 442KB
DrawerLayoutDemo.apk 201KB
cn
com
demo
DrawerLayoutDemoActivity.class 3KB
DrawerLayoutDemoActivity$2.class 2KB
R$layout.class 373B
R$id.class 442B
R$drawable.class 416B
R$attr.class 319B
R.class 523B
R$array.class 376B
R$string.class 477B
DrawerLayoutDemoActivity$1.class 1KB
resources.ap_ 12KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable
drawer_shadow.xml 116B
values
strings.xml 557B
drawable-mdpi
icon.png 3KB
layout
main.xml 1KB
assets
default.properties 363B
gen
cn
com
demo
R.java 1KB
proguard.cfg 1KB
.settings
org.eclipse.jdt.core.prefs 177B
src
cn
com
demo
DrawerLayoutDemoActivity.java 4KB
.project 852B
.classpath 346B
AndroidManifest.xml 690B
libs
android-support-v4.jar 473KB
共 28 条
- 1
资源评论
根守
- 粉丝: 3
- 资源: 48
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功