Android实现上下左右抽屉菜单导航控件效果
2015-01-16 13:24:58  By: dwtedx

很不错的一个抽屉控件panel、它可以控制抽屉的大小、弹出大小、抽屉的摆放位置等诸多属性、可以很好的灵活运用到你的项目中、当使用方法setOpen(真的、真的)、面板不显示动画、用户经验非常好、可以独立地打开一个抽屉、并且可以滑动打开关闭抽屉、具体大家可以下载代码看看、可以自由控制的哈、先上截图


android抽屉效果

效果图片比较花哨、大家可以自行修改的哈、已经封装好了、大家可以直接引用


核心代码

@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的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


猜你喜欢的

快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+