
android弹出式菜单(效果爆炸)
发布日期:2021-05-08 04:55:04
浏览次数:18
分类:精选文章
本文共 1989 字,大约阅读时间需要 6 分钟。
有没有觉得常见的弹出菜单都很丑,常见的上下文菜单也很难看,当弹出一个菜单提供功能的时候,整个一点效果都没有。显得很突兀。 下面介绍一个菜单。重写了popupwindow 。效果图如下。 github地址
话不多说上代码:
public class PathPopupWindow extends PopupWindow { private final int CONST_R = 100;//圆半径 private final int CONST_ICON_SIZE = 35; private Context context; private FrameLayout frameLayout; private ImageView imageView; private View view_circle; private ListitemViews = new ArrayList (); private int itempadding = 0; private OnPathItemClickListener mOnPathItemClickListener; public void setOnPathItemClickListener(OnPathItemClickListener mOnPathItemClickListener){ this.mOnPathItemClickListener = mOnPathItemClickListener; } protected PathPopupWindow() { } public PathPopupWindow(Context context, List items) { this(context,items, Color.BLACK,12, Color.TRANSPARENT); } public PathPopupWindow(Context context, List items, int textColor, int textSize, int itembgResId) { super(context); this.context = context; setFocusable(true); itempadding = DensityUtil.dip2px(context, 8); int itemWidth = DensityUtil.dip2px(context,CONST_ICON_SIZE + textSize + 4) + itempadding * 2; int width = DensityUtil.dip2px(context, CONST_R * 2 + 30) + itemWidth; int height = DensityUtil.dip2px(context, CONST_R * 2 + 30 + textSize) + itemWidth; setWidth(width); setHeight(height); setBackgroundDrawable(new ColorDrawable()); frameLayout = new FrameLayout(context); view_circle = new View(context); view_circle.setBackgroundResource(R.drawable.bg_circle); int Radius = DensityUtil.dip2px(context, CONST_R); int pading = (width - Radius * 2)/2; FrameLayout.LayoutParams view_flp = new FrameLayout.LayoutParams(Radius * 2, Radius * 2); view_flp.leftMargin = view_flp.topMargin = (width - Radius * 2) / 2; frameLayout.addView(view_circle, view_flp); for(int i = 0;i
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月21日 00时20分54秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Oracle常用SQL
2021-05-08
技术美术面试问题整理
2021-05-08
Redis分布式锁原理
2021-05-08
【备份】求极限笔记
2021-05-08
C++学习记录 四、基于多态的企业职工系统
2021-05-08
C++学习记录 五、C++提高编程(2)
2021-05-08
面试问道nginx优化怎么做的
2021-05-08
自学linux毕业shell面试题
2021-05-08
4 Java 访问控制符号的范围
2021-05-08
第9章 - 有没有替代原因(检验证据)
2021-05-08
VUE3(八)setup与ref函数
2021-05-08
Vue之Element标签页保留用户操作缓存。
2021-05-08
智能合约开发实践(1)
2021-05-08
2. Spring Boot学习——Yaml等配置文件教程
2021-05-08
MATLAB——操作矩阵的常用函数
2021-05-08
CMake自学记录,看完保证你知道CMake怎么玩!!!
2021-05-08
Eigen库中vector.transpose()函数什么意思
2021-05-08
ORB-SLAM2:LocalMapping线程学习随笔【李哈哈:看看总有收获篇】
2021-05-08
ORB-SLAM2:LoopClosing线程学习随笔【李哈哈:看看总有收获篇】
2021-05-08
牛客练习赛56 D 小翔和泰拉瑞亚(线段树)
2021-05-08