本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox4.7.0_Build20141115_CHS.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
前言,本篇文章是最基础的利用DrawerLayout实现抽屉效果,我也是尽量精简到了最高效的代码,后面我会贴出其他比较复杂的功能。 先看效果图 标题栏中的文字,会根据点击item的不同,而显示不同的样式。 直接上代码。 下面是activity_main的代码
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v4.widget.DrawerLayout xmlns:android="https://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- 当前主界面显示内容视图 --> <!-- 主内容必须是DrawerLayout的第一个元素,因为它将第一个显示,并且抽屉必须在内容之上 --> <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="@android:color/holo_red_dark" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="5dp" /> </android.support.v4.widget.DrawerLayout> </RelativeLayout>
dp
单位而高度和父View一样。抽屉菜单的宽度应该不超过320dp,这样用户可以在菜单打开的时候看到部分内容界面。package com.example.chouti; import android.os.Bundle; import android.app.Activity; import android.content.res.Configuration; import android.view.MenuItem; import android.view.View; import android.view.Window; 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 MainActivity extends Activity { private String[] mPlanetTitles = { "hahhooo", "jdahldfj", "这是真的吗", "这应该是真的", "4", "jdahldfj", "这是真的吗", "这应该是真的", "jdahldfj", "这是真的吗", "这应该是真的" }; private DrawerLayout mDrawerLayout; private ActionBarDrawerToggle mDrawerToggle; private ListView mDrawerList; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); // 初始化ListView和适配数据 initListView(); //mDrawerLayout.setDrawerShadow(R.drawable.ic_launcher, GravityCompat.START); //初始化ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this,//显示抽屉的Activity对象 mDrawerLayout,//DrawerLayout 对象 R.drawable.ic_launcher, //一个用来指示抽屉的 drawable资源(如果想显示这个图标的话,必须重写onPostCreate(Bundle savedInstanceState)) R.string.hello_world,//一个用来描述打开抽屉的文本 (用于支持可访问性) R.string.hello_world);//一个用来描述关闭抽屉的文本(用于支持可访问性) // 将ActionBarDrawerToggle设置为DrawerListener mDrawerLayout.setDrawerListener(mDrawerToggle); // ActionBar操作模式开启(调用这个方法,点击图标才会有响应) getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); // 注意: getActionBar() 添加是在 API level 11 } //这里就是onPostCreate(Bundle savedInstanceState)方法 // @Override // protected void onPostCreate(Bundle savedInstanceState) { // // super.onPostCreate(savedInstanceState); // mDrawerToggle.syncState(); // } private void initListView() { mDrawerList = (ListView) findViewById(R.id.left_drawer); // 适配数据 mDrawerList .setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mPlanetTitles)); // 为listView设置监听事件 mDrawerList.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // 更新标题,并关闭抽屉 setTitle(mPlanetTitles[position]); mDrawerLayout.closeDrawer(mDrawerList); } }); } @Override public boolean onOptionsItemSelected(MenuItem item) { //传递事件给ActionBarDrawerToggle,如果返回true,它将处理图标响应事件 if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } //处理其他操作点击条目 return super.onOptionsItemSelected(item); } }
阅读和此文章类似的: 程序员专区