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

原创 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);
}
搞掂!

仿微信红点提示

  • 2015年09月08日 14:44
  • 2.06MB
  • 下载

Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示

参考: http://my.oschina.net/ososchina/blog/352286?p=1#comments http://www.voidcn.com/blog/kongbaid...
  • u013334392
  • u013334392
  • 2017年01月05日 09:19
  • 8367

自定义View模仿微信QQ消息列表未读消息数量提示效果 示例DEMO 图标右上角红圈消息提醒

  • 2016年12月09日 14:56
  • 1.19MB
  • 下载

wing带你玩转自定义view系列(3)模仿微信下拉眼睛

上一篇介绍了 qq未读消息提醒去除效果的实现,不知道小伙伴们掌握的怎么样了。 今天带给大家一个很熟悉的东西,当当当当,就是微信下拉眼睛的实现了。 先看效果图: 自评相似度  80%  ...
  • wingichoy
  • wingichoy
  • 2016年01月14日 11:27
  • 3286

TabHost底部导航知识回顾之模仿微信导航

以前用Fragment模仿过微信底部导航 不过最近一个简单的项目准备用TabHost来做底部导航 所以回顾了一下TabHost的知识,做了一个简单的用TabHost来模仿微信导航的demo   因为图...
  • x605940745
  • x605940745
  • 2014年04月09日 22:24
  • 6700

Android中未读信息提示图标的实现

在Android APP的实现中,经常看到 一些信息的提示,比如在微信的未读条数,信息的未读条数。 其中信息的未读条数,一般在Launcher的WorkSpace主界面上,会在SMS/MMS图标上...
  • tianshangyu333
  • tianshangyu333
  • 2015年09月07日 20:37
  • 1829

Android右上角未读消息

  • 2014年09月18日 18:53
  • 2.24MB
  • 下载

模仿 微信 长按录音 功能 实现

模仿 微信 长按录音的功能
  • sinat_18268881
  • sinat_18268881
  • 2016年03月26日 09:11
  • 7011

js模仿微信摇一摇功能

这里介绍的只是实现摇一摇的原理以及一些主要的代码,具体界面不做描述 HTML代码 JS代码 init(); var SHAKE_THRESHOLD = 3000; var l...
  • jimolangyaleng
  • jimolangyaleng
  • 2016年12月19日 15:40
  • 552

使用clipChildren实现仿微信的未读消息列表显式布局

做IM项目是遇到了一个问题就是让那个个未读消息显示在他的父类外面,类似微信的未读消息数显式布局,弄了好久都不知道怎么搞,用其它方法因为要达到适配的原因所以放弃了最后老大告诉我加一个; 代码如下: ...
  • u014649598
  • u014649598
  • 2015年03月10日 13:20
  • 1099
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:模仿模仿微信收到新的信息时,图标里有小原点
举报原因:
原因补充:

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