Android实现上下左右抽屉菜单导航控件效果
2015-01-16 13:24:58 By: shinyuu
很不错的一个抽屉控件panel、它可以控制抽屉的大小、弹出大小、抽屉的摆放位置等诸多属性、可以很好的灵活运用到你的项目中、当使用方法setOpen(真的、真的)、面板不显示动画、用户经验非常好、可以独立地打开一个抽屉、并且可以滑动打开关闭抽屉、具体大家可以下载代码看看、可以自由控制的哈、先上截图
效果图片比较花哨、大家可以自行修改的哈、已经封装好了、大家可以直接引用
核心代码
@Override protected void onFinishInflate() { super.onFinishInflate(); mHandle = findViewById(mHandleId); if (mHandle == null) { String name = getResources().getResourceEntryName(mHandleId); throw new RuntimeException("Your Panel must have a child " " View whose id attribute is ´R.id." name "´"); } mHandle.setOnTouchListener(touchListener); mHandle.setOnClickListener(clickListener); mContent = findViewById(mContentId); if (mContent == null) { String name = getResources().getResourceEntryName(mHandleId); throw new RuntimeException("Your Panel must have a child View " "whose id attribute is ´R.id." name "´"); } // reposition children removeView(mHandle); removeView(mContent); if (mPosition == TOP || mPosition == LEFT) { addView(mContent); addView(mHandle); } else { addView(mHandle); addView(mContent); } if (mClosedHandle != null) { mHandle.setBackgroundDrawable(mClosedHandle); } mContent.setClickable(true); mContent.setVisibility(GONE); if (mWeight > 0) { ViewGroup.LayoutParams params = mContent.getLayoutParams(); if (mOrientation == VERTICAL) { params.height = ViewGroup.LayoutParams.FILL_PARENT; } else { params.width = ViewGroup.LayoutParams.FILL_PARENT; } mContent.setLayoutParams(params); } }
最后把一个完整的Demo的源代码贴出来、希望对大家有用哈
源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1pJNYb3P 密码: 9pt9
若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力
想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)
或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)
如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教
为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)
感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛