文件名称:
YCRedDotView-自定义红点控件,不用修改之前的代码,完全解耦,即可以设置红点数字控件,使用十分方便。可以支持设置在TextView,Button,LinearLayout,RelativeLayout,TabLayout等等控件上
开发工具:
文件大小: 175kb
下载次数: 0
上传时间: 2019-09-23
详细说明: 目录介绍01.该库介绍02.效果展示03.如何使用04.注意要点05.优化问题06.部分代码逻辑01.该库介绍自定义红点控件,不用修改之前的代码,完全解耦,既可以设置红点数字控件,使用十分方便。网上看到有些案例是继承View,然后去测量和绘制红点的相关操作,此案例则不需要这样,继承TextView也可以完成设置红点功能。可以支持设置在TextView,Button,LinearLayout,RelativeLayout,TabLayout等等控件上……大概的原理是:继承TextView,然后设置LayoutParams,设置内容,设置Background等等属性,然后在通过addView添加到父控件中。02.效果展示03.如何使用如何引用implementat ion cn.yc:YCRedDotViewLib:1.0.3如下所示//创建红点View YCRedDotView ycRedDotView = new YCRedDotView(this); //设置依附的View ycRedDotView.setTargetView(tv1); //设置红点的数字 ycRedDotView.setBadgeCount(10); //设置红点位置 ycRedDotView.setRedHotViewGravity(Gravity.END); //获取小红点的数量 int count = ycRedDotView.getBadgeCount(); //如果是设置小红点,不设置数字,则可以用这个,设置属性是直径 ycRedDotView.setBadgeView(10); //设置margin ycRedDotView.setBadgeMargin(0,10,20,0);04.注意要点如果设置数字大于99,则会显示“99 ”。如果设置为0,则不可见。05.优化问题相比网上一些案例,该库不需要做测量绘制方面操作,代码十分简洁,但却也可以完成你需要的功能。有些红点View,需要你在布局中设置,要是很多地方有设置红点操作,则比较麻烦。而该案例不需要改变你之前的任何代码,只是需要按照步骤即可设置红点。设置红点view到你的控件的逻辑操作代码如下所示。如果控件父布局是帧布局,则直接添加;如果控件父布局是ViewGroup,则创建一个帧布局,然后添加红点/** * 设置红点依附的view * param view view */ public void setTargetView(View view){ if (getParent() != null) { ((ViewGroup) getParent()).removeView(this); } if (view == null) { return; } if(view.getParent() instanceof FrameLayout){ ((FrameLayout) view.getParent()).addView(this); }else if(view.getParent() instanceof ViewGroup){ ViewGroup parentContainer = (ViewGroup) view.getParent(); int groupIndex = parentContainer.indexOfChild(view); parentContainer.removeView(view); FrameLayout badgeContainer = new FrameLayout(getContext()); ViewGroup.LayoutParams parentLayoutParams = view.getLayoutParams(); badgeContainer.setLayoutParams(parentLayoutParams); view.setLayoutParams(new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); parentContainer.addView(badgeContainer, groupIndex, parentLayoutParams); badgeContainer.addView(view); badgeContainer.addView(this); }else { Log.e(getClass().getSimpleName(), "ParentView is must needed"); } }
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
相关搜索: