Android BGABadgeView:BGABadgeImageView以及BGABadgeRelativeLayout(4)
2016-07-05 12:27
381 查看
Android BGABadgeView:BGABadgeImageView以及BGABadgeRelativeLayout(4)
在附录文章5,6,7的基础上,写一个小例子说明BGABadgeImageView以及BGABadgeRelativeLayout。现在比如常见的新浪微博的账号头像下,如果有些大v账号,会额外显示一个vip徽标。这个可以用BGABadgeImageView实现,也可以是一个其他的普通BadgeView。
本例中的头像图是我的博客头像,vip图是新浪微博常见的vip小logo。
写一个布局:
Java代码:
关于圆角图片的处理见附录文章4。
代码运行结果:
![](http://img.blog.csdn.net/20160705122735559?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
附录文章:
1,《仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)》链接地址:/article/1810795.html
2,《仿短信条目右上角的红色小圆球提示气泡》链接地址:/article/1810803.html
3,《Android开源BezierView:仿QQ未读消息99+条的红色气泡》链接地址:http://blog.csdn.net/zhangphil/article/details/49746709
4,《Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案》链接地址:/article/11867764.html
5,《Android BGABadgeView:新消息/未接来电/未读消息/新通知圆球红点提示(1)》链接地址:http://blog.csdn.net/zhangphil/article/details/51822514
6,《Android BGABadgeView:显示提示数字(2)》链接地址:http://blog.csdn.net/zhangphil/article/details/51828808
7,《Android BGABadgeView:BGABadgeLinearLayout以整体线性布局作为BadgeView(3)》链接地址:/article/11867763.html
Android BGABadgeView:BGABadgeImageView以及BGABadgeRelativeLayout(4)
在附录文章5,6,7的基础上,写一个小例子说明BGABadgeImageView以及BGABadgeRelativeLayout。现在比如常见的新浪微博的账号头像下,如果有些大v账号,会额外显示一个vip徽标。这个可以用BGABadgeImageView实现,也可以是一个其他的普通BadgeView。
本例中的头像图是我的博客头像,vip图是新浪微博常见的vip小logo。
写一个布局:
<?xml version="1.0" encoding="utf-8"?> <cn.bingoogolapple.badgeview.BGABadgeRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/badgeRelativeLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dp" tools:context="zhangphil.demo.MainActivity"> <cn.bingoogolapple.badgeview.BGABadgeImageView android:id="@+id/badgeImageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:padding="5dp" android:src="@drawable/zhangphil" app:badge_horizontalMargin="5dp" app:badge_verticalMargin="5dp" /> <cn.bingoogolapple.badgeview.BGABadgeImageView android:id="@+id/badgeImageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:padding="5dp" android:src="@drawable/zhangphil" /> <cn.bingoogolapple.badgeview.BGABadgeImageView android:id="@+id/badgeImageView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:padding="5dp" android:src="@drawable/zhangphil" /> </cn.bingoogolapple.badgeview.BGABadgeRelativeLayout>
Java代码:
package zhangphil.demo; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; import android.support.v4.graphics.drawable.RoundedBitmapDrawable; import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import cn.bingoogolapple.badgeview.BGABadgeImageView; import cn.bingoogolapple.badgeview.BGABadgeRelativeLayout; import cn.bingoogolapple.badgeview.BGABadgeViewHelper; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //BGABadgeRelativeLayout显示一个右下角的红色提示小圆球 //半径大小为30dp BGABadgeRelativeLayout mBGABadgeRelativeLayout = (BGABadgeRelativeLayout) findViewById(R.id.badgeRelativeLayout); mBGABadgeRelativeLayout.showCirclePointBadge(); mBGABadgeRelativeLayout.getBadgeViewHelper().setBadgePaddingDp(30); mBGABadgeRelativeLayout.getBadgeViewHelper().setBadgeGravity(BGABadgeViewHelper.BadgeGravity.RightBottom); mBGABadgeRelativeLayout.getBadgeViewHelper().setDragable(true); //右上角一个红色小圆球 BGABadgeImageView badgeImageView1 = (BGABadgeImageView) findViewById(R.id.badgeImageView1); badgeImageView1.showCirclePointBadge(); badgeImageView1.getBadgeViewHelper().setBadgeGravity(BGABadgeViewHelper.BadgeGravity.RightTop); badgeImageView1.getBadgeViewHelper().setBadgePaddingDp(6); //右下角一个VIP徽标的图案 BGABadgeImageView badgeImageView2 = (BGABadgeImageView) findViewById(R.id.badgeImageView2); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.avatar_vip); Bitmap avatorBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.zhangphil); RoundedBitmapDrawable circleDrawable = RoundedBitmapDrawableFactory.create(getResources(), avatorBitmap); circleDrawable.getPaint().setAntiAlias(true); circleDrawable.setCornerRadius(Math.max(avatorBitmap.getWidth(), avatorBitmap.getHeight())); badgeImageView2.setImageDrawable(circleDrawable); badgeImageView2.showDrawableBadge(bitmap); badgeImageView2.getBadgeViewHelper().setBadgeGravity(BGABadgeViewHelper.BadgeGravity.RightBottom); //默认的右上角小圆球,但是颜色修改为蓝色 BGABadgeImageView badgeImageView3 = (BGABadgeImageView) findViewById(R.id.badgeImageView3); badgeImageView3.showCirclePointBadge(); badgeImageView3.getBadgeViewHelper().setBadgeBgColorInt(Color.BLUE); /** badge.showTextBadge("9"); badge.getBadgeViewHelper().setBadgeTextSizeSp(15); badge.getBadgeViewHelper().setBadgeTextColorInt(Color.WHITE); badge.getBadgeViewHelper().setBadgeBgColorInt(Color.RED); badge.getBadgeViewHelper().setDragable(true); badge.getBadgeViewHelper().setBadgePaddingDp(6); badge.getBadgeViewHelper().setBadgeBorderWidthDp(2); badge.getBadgeViewHelper().setBadgeBorderColorInt(Color.WHITE); badge.getBadgeViewHelper().setBadgeGravity(BGABadgeViewHelper.BadgeGravity.RightTop); */ } }
关于圆角图片的处理见附录文章4。
代码运行结果:
附录文章:
1,《仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)》链接地址:/article/1810795.html
2,《仿短信条目右上角的红色小圆球提示气泡》链接地址:/article/1810803.html
3,《Android开源BezierView:仿QQ未读消息99+条的红色气泡》链接地址:http://blog.csdn.net/zhangphil/article/details/49746709
4,《Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案》链接地址:/article/11867764.html
5,《Android BGABadgeView:新消息/未接来电/未读消息/新通知圆球红点提示(1)》链接地址:http://blog.csdn.net/zhangphil/article/details/51822514
6,《Android BGABadgeView:显示提示数字(2)》链接地址:http://blog.csdn.net/zhangphil/article/details/51828808
7,《Android BGABadgeView:BGABadgeLinearLayout以整体线性布局作为BadgeView(3)》链接地址:/article/11867763.html
相关文章推荐
- android studio 引用aar包
- Mac + android studio + SVN
- 自定义dialog,在小米4上显示不全
- 异常/AndroidRuntime(22850): android.content.res.Resources$NotFoundException: Stri
- Android中利用xml文件布局修改Helloworld程序
- Android Train随堂记
- Android分析破解-秒脱360加固大法
- Android中Paint画图
- android下NDK开发环境搭建及TestJNI入门实例完整过程
- Android edittext软键盘弹出时影响原布局的解决方法
- Android组件之ContentProvider(一)
- android 播放视频时切换全屏隐藏状态栏
- android gridView屏幕适配,以及GridView的各种属性
- 【Android】Android Camera实时数据采集及通过MediaCodec硬编码编码数据的流程
- Vector Drawable、Animated Vector Drawable
- Android 启动Service的方式和区别
- Android中的Uri
- Android配置文件分享和JSON数据生成与解析
- [android编程学习日记1]搞硬件的,学习android初学心得,一下子豁然开朗许多
- Android ANR 分析解决方法