模仿模仿微信收到新的信息时,图标里有小原点

原创 2016年08月31日 15:03:45

这是一个模仿微信下面导航的一个demo,大神们清喷,求指教。

需求:收到新的收消息后,图标下有提示的小红点

说一个我的思路:1.在LinearLayout 里有三个FrameLayout布局

<FrameLayout
    android:id="@+id/message"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1" >
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_horizontal"
        android:gravity="center"
        android:orientation="vertical" >
        <ImageView
            android:id="@+id/message_imgv"
            android:layout_width="@dimen/dp_30"
            android:layout_height="@dimen/dp_30"
            android:layout_marginTop="2dp"
            android:src="@drawable/selector_message" >
        </ImageView>
        <TextView
        android:id="@+id/messagetext"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:button="@null"
        android:gravity="center"
        android:textColor="@drawable/radio_text"
        android:text="信息"></TextView>
    </LinearLayout>
    <TextView
        android:id="@+id/hint"
        android:layout_width="@dimen/dp_14"
        android:layout_height="@dimen/dp_14"
        android:layout_gravity="top|center"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="2dp"
        android:background="@drawable/tab_msgnum_textbg"
        android:textSize="8sp"
        android:gravity="center"
        android:textColor="#FFFFFF"
        android:visibility="visible"/>
</FrameLayout>
这是其中一项


实现起来是这个样的,但是在软件中我们不能让他每时每刻都显示,必须按照需求来。

那么我的方法是接受到新的信息就发一个本地广播

@Override
public void updaUI(List<MessageResult> result) {
    if (this.list != null)list.clear();
    this.list = result;
    int i = 0;
    if (list != null && list.size()>0){
        for (MessageResult mag:list) {
            //判断是否收到新的消息
            if (mag.getRead().equals("0")){
                i++;
            }
        }
    }
    if (i > 0){
        LocalBroadcastManager.getInstance(getContext()).sendBroadcast(new Intent(Constants.ACTION_IMAGE_MESSAGE).putExtra("id",1).putExtra("num",i));
    }else {
        LocalBroadcastManager.getInstance(getContext()).sendBroadcast(new Intent(Constants.ACTION_IMAGE_MESSAGE).putExtra("id",2));
    }
    adapter = new MessageAdapter(getContext(),this.list);
    listView.setAdapter(adapter);
    listView.setOnItemClickListener(this);
    listView.setOnItemLongClickListener(this);
}
到主页面接收

IntentFilter intentFilter = new IntentFilter(Constants.ACTION_ENTER_HOME);
LocalBroadcastManager.getInstance(this).registerReceiver(message_br, intentFilter);
控件Textview的显示

private BroadcastReceiver message_br = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        int i = intent.getIntExtra("id",0);
        if (i == 1){
            hint_tv.setText(intent.getStringExtra("num"));
            hint_tv.setVisibility(View.VISIBLE);
        }else if (i == 2){
            hint_tv.setVisibility(View.INVISIBLE);
        }
    }
};
记得关闭页面时取消广播

@Override
protected void onDestroy() {
    super.onDestroy();
    ButterKnife.unbind(this);
    LocalBroadcastManager.getInstance(this).unregisterReceiver(message_br);
}
搞掂!

相关文章推荐

仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)

效果图如下: 仿微信、短信、来电未接数目、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)。这种实现方式主要有两种途径:(1)重写View的o...

仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)

效果图如下: 仿微信、短信、来电未接数目、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)。这种实现方式主要有两种途径:(1)重写View的onDraw(...

Android 之应用启动图标未读消息BadgeNumber动态提醒(如微信 QQ等)

public class BadgeUtil { //注意Field导包为import java.lang.reflect.Field;==坑啊 /** * 实现原理: 首先我们要明...

微信底部滑动时图标渐变色的实现

周末想实现一下微信底部的渐变图案,折腾了一波,效果总算得上是差强人意。 下面是QQ的微信图标首先想到两个方案就是设置背景透明度,和属性动画。但效果都被否决了,属性动画效果逼真一些,但是顶多算是B货。...

仿微信底部栏图标切换时,颜色渐变效果

本文模仿并介绍微信底部标题栏的渐变效果是如何实现的

仿微信的语音点击播放时的语音图标动画效果

仿微信的语音点击播放时的语音图标动画效果 效果: 可能需要的图片: 需要定义的实例变量: //语音动画控制器 Timer mTimer=null; //语音动画控制任务 Timer...
  • hagetis
  • hagetis
  • 2013年01月29日 17:29
  • 9734

获取新榜微信公众号指数信息,并服务器上部署

一、分析: 新榜地址:这里写链接内容 接口发现: http://www.newrank.cn/xdnphb/data/weixinuser/searchWeixinDataByCondition...

最全的微信图标资源

  • 2015年12月15日 19:50
  • 3.58MB
  • 下载

微信消息通知图标创建BadgeView

  • 2015年02月06日 20:20
  • 341KB
  • 下载

Android 高仿微信6.0主界面 带你玩转切换图标变色

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41087219,本文出自:【张鸿洋的博客】1、概述学习Android少不了模仿各种...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:模仿模仿微信收到新的信息时,图标里有小原点
举报原因:
原因补充:

(最多只允许输入30个字)