模仿模仿微信收到新的信息时,图标里有小原点
来源:互联网 发布:杭州月嫂哪家好 知乎 编辑:程序博客网 时间:2024/04/30 11:49
这是一个模仿微信下面导航的一个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>这是其中一项
实现起来是这个样的,但是在软件中我们不能让他每时每刻都显示,必须按照需求来。
那么我的方法是接受到新的信息就发一个本地广播
@Overridepublic 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); } }};记得关闭页面时取消广播
@Overrideprotected void onDestroy() { super.onDestroy(); ButterKnife.unbind(this); LocalBroadcastManager.getInstance(this).unregisterReceiver(message_br);}搞掂!
2 0
- 模仿模仿微信收到新的信息时,图标里有小原点
- 【模仿】模仿易信的UI
- 模仿微信红包
- 模仿微信界面
- 模仿微信的图片缩小放大
- 模仿微信的图片缩小放大
- android模仿微信的链接
- 模仿微信的界面实现
- 模仿微信6.0的界面效果
- Android_ViewPage_Fragment_模仿微信界面
- 模仿微信的"我"界面的demo
- ios模仿微信的"我"界面的demo
- 维多利亚的秘密微信推广广告模仿-刮刮卡
- 维多利亚的秘密微信推广广告模仿-刮刮卡
- 模仿微信收藏文件的标签处理
- iOS模仿微信的那个视频眼睛动画
- android ActionBar的使用(模仿微信界面)
- 模仿微信的多图片上传功能
- 72. Edit Distance 最小编辑距离
- R树空间索引
- 项目管理之如何控制项目进度和质量
- android6.0 Scrollview嵌套RecyclerView position始终为0
- Java 解決BufferedReader读取UTF-8文件中文乱码
- 模仿模仿微信收到新的信息时,图标里有小原点
- ImageMagick 漏洞复现之路
- android之ConnectivityManager简介,网络连接状态
- Ubuntu:安装常用软件找不到安装包时的解决办法
- Java集合Set、List、Map的遍历方法
- android 飘心动画(直播点赞)效果(二)---贝塞尔曲线的实现
- MVP模式
- POJ 1741 Tree 点分治
- visual studio 调试