时人不识凌云木,直待凌云始道高。这篇文章主要讲述Android-DrawerLayout介绍相关的知识,希望能为你提供帮助。
DrawerLayout已经出来非常久了,个人认为国内的app都深受ios的毒害在设计上都争先模仿ios的风格,都忘了什么是独特的android风格。自己得先学的然后跟产品争取在项目中使用上一系列的Android风格,碰巧DrawerLayout菜单导航被我争取到了,用到了项目上。
首先 DrawerLayout存在于v4包中。我们仅仅须要在xml配置就可以
<
android.support.v4.widget.DrawerLayout
android:id="@+id/drawerLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<
TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_world"
android:textColor="@android:color/black"
android:gravity="center"/>
<
LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#ffffff"
android:orientation="vertical"/>
<
/android.support.v4.widget.DrawerLayout>
在这须要介绍下ActionBarDrawerToggle。控制DrawerLayout的显示/隐藏使用。
在Activity中的两个回调函数中使用它:
onConfigurationChanged
onOptionsItemSelected
调用ActionBarDrawerToggle.syncState() 在Activity的onPostCreate()中。指示。ActionBarDrawerToggle与DrawerLayout的状态同步。并将ActionBarDrawerToggle中的drawer图标,设置为ActionBar的Home-Button的icon
public class DrawerActivity extends AppCompatActivity {DrawerLayout mDrawerLayout;
ActionBarDrawerToggle toggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_activity);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
toggle = new ActionBarDrawerToggle(DrawerActivity.this, mDrawerLayout, R.string.hello_world, R.string.hello_world);
mDrawerLayout.setDrawerListener(toggle);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("TestDrawerLayout");
}@Override
public void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
toggle.syncState();
}@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
toggle.onConfigurationChanged(newConfig);
}@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (toggle.onOptionsItemSelected(item))
return true;
return super.onOptionsItemSelected(item);
}
}
以上几步设置就可以在项目中成功使用DrawerLayout。可是须要注意几点:
1.android.support.v4.widget.DrawerLayout是存在于v4包下
2.主题须要显示ActionBar,比如Theme.AppCompat.Light.DarkActionBar
3.ActionBarDrawerToggle是个DrawerListener实现,我们能够自己写DrawerListener实现特定的要求。
【Android-DrawerLayout介绍】我们能够发现独具自带的Android的风格我们使用起来也是非常easy。而我们却深受ios的影响太多了。
推荐阅读
- [android开发篇][ wifi模块] [3] wifiConnectAndCheck
- [android开发篇][ wifi模块] [2] wifibase
- AndroidStudio 使用AIDL
- 关于idea中新建web项目webapp文件夹没有小蓝点 ,启动服务,访问不到解决方案
- Android群英传笔记——摘要,概述,新的出发点,温故而知新,能够为师矣!
- Android的简易圆形头像
- Android安装过程出现问题
- BwApp学习记录
- Andriod三步学会安卓自己定义视图及其属性