android用什么数据库-iconify 怎么用

Android抽屉效果 DrawerLayout 入门经验总结 - 推酷
Android抽屉效果 DrawerLayout 入门经验总结
今天试了试这个抽屉布局的效果,结果很崩溃无语
网上很多资料都千篇一律,感觉都有问题,下面总结下几点经验:
先上个效果图:
1. &layout 布局文件中怎么写:
&android.support.v4.widget.DrawerLayout
xmlns:android=&/apk/res/android&
android:id=&@+id/drawerLayout&
android:layout_width=&match_parent&
android:layout_height=&match_parent&
android:background=&#F6F6F6&
&!-- 抽屉底部遮罩层 默认不可见 --&
&FrameLayout
android:layout_width=&match_parent&
android:layout_height=&match_parent&
&!-- 抽屉打开后显示的菜单 默认不可见 --&
android:id=&@+id/drawerListView&
android:layout_width=&240dp&
android:layout_height=&match_parent&
android:layout_gravity=&start&
android:choiceMode=&singleChoice&
android:background=&#FFF&
&!-- 其他页面内容将直接显示 --&
&android.support.v4.view.ViewPager
android:id=&@+id/main_view_pager&
android:layout_width=&match_parent&
android:layout_height=&match_parent&
&/android.support.v4.view.ViewPager&
&/android.support.v4.widget.DrawerLayout&
要兼容低版本的话用 &android.support.v4.widget.DrawerLayout&
里面固定的结构:
第一个子节点是:FrameLayout &显示为透明黑色遮罩,点击后自动关闭抽屉,不写也能运行,但触屏时会崩溃
第二个子节点是:ListView &
这两个默认是不显示的,其他布局视图都会直接显示出来
我一开始看了网上很多例子,但都没有提说到除了抽屉的布局视图之外的视图究竟放哪里,我尝试了很多方法,发现只能将其他布局视图代码放在 DrawerLayout 内部才能正常使用,否则要么是相互覆盖,或者就是触屏事件失效,滚动等效果全部失效。
2. JAVA代码
package com.ai9475.meitian.
import android.content.I
import android.content.res.C
import android.os.B
import android.support.v4.app.ActionBarDrawerT
import android.support.v4.view.GravityC
import android.support.v4.widget.DrawerL
import android.view.M
import android.view.MenuI
import android.view.V
import android.widget.ArrayA
import android.widget.ListV
import com.ai9475.meitian.R;
import com.ai9475.util.ZL
import com.joanzapata.android.iconify.IconD
import com.joanzapata.android.iconify.I
* 日记列表
* Created by ZHOUZ on 14-3-10.
public final class MainActivity extends BaseActivity
private static final String TAG = &MainActivity&;
private DrawerLayout mDrawerL
private ActionBarDrawerToggle mDrawerT
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
ZLog.i(TAG, &onCreate&);
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
String[] list = new String[]{&test1&, &test2&, &test3&, &test4&, &test5&, &test6&, &test7&, &test8&};
ListView listView = (ListView) findViewById(R.id.drawerListView);
listView.setAdapter(new ArrayAdapter&String&(this, R.layout.list_drawer_item, list));
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
if (mDrawerLayout == null) {
ZLog.i(TAG, &mDrawerLayout is null&);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) {
public void onDrawerClosed(View drawerView) {
ZLog.i(TAG, &onDrawerClosed&);
super.onDrawerClosed(drawerView);
getSupportActionBar().setTitle(&close drawer&);
supportInvalidateOptionsMenu();
public void onDrawerOpened(View drawerView) {
ZLog.i(TAG, &onDrawerOpened&);
super.onDrawerOpened(drawerView);
getSupportActionBar().setTitle(&open drawer&);
supportInvalidateOptionsMenu();
mDrawerLayout.setDrawerListener(mDrawerToggle);
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// Sync the toggle state after onRestoreInstanceState has occurred.
mDrawerToggle.syncState();
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mDrawerToggle.onConfigurationChanged(newConfig);
public boolean onCreateOptionsMenu(Menu menu)
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main, menu);
MenuItem home = menu.findItem(R.id.goto_main_activity);
if (home != null) {
home.setIcon(new IconDrawable(this, Iconify.IconValue.fa_home)
.colorRes(R.color.nav_icon)
.actionBarSize());
MenuItem my = menu.findItem(R.id.goto_my_activity);
if (my != null) {
my.setIcon(new IconDrawable(this, Iconify.IconValue.fa_user)
.colorRes(R.color.nav_icon)
.actionBarSize());
MenuItem tags = menu.findItem(R.id.goto_tags_activity);
if (tags != null) {
tags.setIcon(new IconDrawable(this, Iconify.IconValue.fa_search)
.colorRes(R.color.nav_icon)
.actionBarSize());
MenuItem edit = menu.findItem(R.id.goto_edit_activity);
if (edit != null) {
edit.setIcon(new IconDrawable(this, Iconify.IconValue.fa_plus)
.colorRes(R.color.nav_icon)
.actionBarSize());
MenuItem more = menu.findItem(R.id.show_more_menu);
if (more != null) {
more.setIcon(new IconDrawable(this, Iconify.IconValue.fa_ellipsis_vertical)
.colorRes(R.color.nav_icon)
.actionBarSize());
MenuItem exit = menu.findItem(R.id.goto_exit);
if (exit != null) {
exit.setIcon(new IconDrawable(this, Iconify.IconValue.fa_sign_out)
.colorRes(R.color.nav_icon)
.actionBarSize());
public boolean onOptionsItemSelected(MenuItem item)
if (item != null && item.getItemId() == android.R.id.home) {
if (mDrawerLayout.isDrawerVisible(GravityCompat.START)) {
mDrawerLayout.closeDrawer(GravityCompat.START);
mDrawerLayout.openDrawer(GravityCompat.START);
super.onOptionsItemSelected(item);
int id = item.getItemId();
switch (id) {
case R.id.goto_my_activity:
if (this.checkLogin(MyActivity.class)) {
intent = new Intent(this, MyActivity.class);
startActivity(intent);
我使用了 actionBar ,网上的很多教程都提到使用 actionBar 的 home 按钮来控制 抽屉的打开和关闭,但却都没有提到如何控制的,甚至官方例子里面也没有看到,我试了半天都没有触发&ActionBarDrawerToggle 里面的时间,后来好不容易找到一篇文章提说到自己实现控制开关抽屉的方法,于是加入该代码在&onOptionsItemSelected 中才终于实现了:
if (item != null && item.getItemId() == android.R.id.home) {
if (mDrawerLayout.isDrawerVisible(GravityCompat.START)) {
mDrawerLayout.closeDrawer(GravityCompat.START);
mDrawerLayout.openDrawer(GravityCompat.START);
好了几经折腾终于能看到效果了,遮盖正常、VerPager 以及 pager 内部的 fragment中的 listView 的触屏滚动事件均正常
正以为大功告成的时候,又发现个无语的问题,抽屉里面的 ListView 居然不能滚动,卧槽啊。。。谷歌搜索了好半天没找到解决办法,实在顶不住了,放弃吧。。
话说这个抽屉效果太难看了,兼容性也太差了,问题这么多,还是那个 slidingMenu 好些。
还是暂时放弃这个 DrawerLayout 了,浪费生命
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
没有分页内容
图片无法显示
视频无法显示
与原文不一致当前访客身份:游客 [
当前位置:
android-iconify
标签代码列表(0)
当前标签下
暂无代码!
开源从代码分享开始
TOP40活跃贡献者
韩万杰[195]
Objecti...[195]
大街小巷[161]
红薯[1418]
antking...[47]
苏谷子[24]
亭子hap...[28]
IOS-And...[24]
Suppend...[23]
sky-upd...[15]
petter...[15]
logan67...[14]
haxiba...[14]
Objecti...[10]
JavaGG...[40]
song314...[15]
David_L...[13]
双子座[25]
crystal...[9]
咕噜不爱猫[9]
API_Clo...[9]
JavaScr...[3]
芳仔小脚丫[9]
Objecti...[9]
刘学炜[64]
cheyili...[13]
yzp531...[10]
迷途d书童[10]
zhoulc...[8]
睡到自然醒[7]
亓斌哥哥[24]
Objecti...[7]
叼烟斗的猫[7]
免费api...[15]
Google ...[5]
nj_jeff...[8]
梁金堂[19]
本月热门代码语言TOP5&&国之画&&布布分享&&&& &&&&
版权所有 京ICP备号-2
迷上了代码!当前访客身份:游客 [
当前位置:
android-iconify
标签代码列表(0)
当前标签下
暂无代码!
开源从代码分享开始
TOP40活跃贡献者
C/C++[231]
红薯[1418]
Sephiro...[114]
Python...[114]
小卒过河[191]
Ruby/Ra...[45]
YuChao...[110]
优雅先生[136]
JavaScr...[41]
黃偉達[34]
罪恶的花生[110]
hcqenjo...[340]
Flash/A...[125]
废柴大叔[46]
JavaScr...[29]
baoer10...[20]
Python...[14]
临峰不畏[21]
Shell/批...[9]
canghai...[15]
lidashu...[20]
铂金胖子[25]
Python...[18]
yangjia...[12]
杨尚川[10]
疯狂的流浪[286]
牛奋Deb...[11]
土豆-地瓜[30]
RyanLee...[9]
磊神Ray[32]
anima.l...[9]
JavaScr...[6]
晚风工作室[7]
it-liu...[11]
Amamatt...[51]
Google ...[25]
李宏伟[21]
古_心_月[10]
江哥一直在[8]
intergr...[35]
Python...[14]
本月热门代码语言TOP5当前访客身份:游客 [
当前位置:
android-iconify
标签代码列表(0)
当前标签下
暂无代码!
开源从代码分享开始
TOP40活跃贡献者
红薯[1418]
村长老财[99]
C/C++[231]
罪恶的花生[110]
antking...[47]
紫蝴蝶发卡[48]
刘学炜[64]
wangche...[34]
要做攻城...[41]
stevenl...[41]
梁涯飞雨[29]
亭子hap...[28]
优雅先生[136]
JavaScr...[41]
磊神Ray[32]
fangley...[27]
快速开发师[26]
IT小香猪[32]
安西都护...[38]
小南风[26]
苏谷子[24]
Suppend...[23]
_火狼_[22]
相信你自己[22]
yamorn...[28]
JavaGG...[40]
亓斌哥哥[24]
hcqenjo...[340]
Flash/A...[125]
火柴鱼[29]
Lanfog...[20]
大街小巷[161]
互联网的...[25]
狙击手[19]
Catelyn...[25]
本月热门代码语言TOP5

我要回帖

更多关于 android用什么数据库 的文章

 

随机推荐