大概就是图片这个样,这个功能很常见,本来我以为很简单,谁知道真的很简单;

遇到点小问题,记录一下,哈哈;

小红点的Drawable:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/colorFF1E40" />
<size android:height="@dimen/dimen_6dp"
android:width="@dimen/dimen_6dp"
/>
</shape>

TextView加小红点的布局:

 <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:layout_marginLeft="@dimen/dimen_20dp"
android:layout_toLeftOf="@id/tvTime"
android:layout_alignParentLeft="true"
android:layout_marginRight="15dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="流量套餐预警"
android:textColor="#232323"
android:lines="1"
android:textSize="@dimen/font_17sp"
android:id="@+id/tvTitle"
/>
<View
android:id="@+id/vRead"
android:visibility="visible"
android:layout_width="@dimen/dimen_6dp"
android:layout_height="@dimen/dimen_6dp"
android:layout_toRightOf="@id/tvTitle"
android:background="@drawable/message_red_read_gidn"
/>
</RelativeLayout>

好了完成了,是很简单吧;设置layout_toRightOf让小红点在TextView右边就行了;但是:重点来了;TextView字数过长时并且只能单行显示,这时就会把小红点挤出去,此时小红点不显示,看上去就像没有了小红点一样;

修改一下:

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:layout_marginLeft="@dimen/dimen_20dp"
android:layout_toLeftOf="@id/tvTime"
android:layout_alignParentLeft="true"
android:layout_marginRight="15dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="流量套餐预警"
android:textColor="#232323"
android:lines="1"
android:paddingRight="@dimen/dimen_6dp"
android:textSize="@dimen/font_17sp"
android:id="@+id/tvTitle"
/>
<View
android:id="@+id/vRead"
android:visibility="visible"
android:layout_width="@dimen/dimen_6dp"
android:layout_height="@dimen/dimen_6dp"
android:layout_alignRight="@id/tvTitle"
android:background="@drawable/message_red_read_gidn"
/>
</RelativeLayout>

layout_toRightOf会把小红点挤出去;就不用它了,使用layout_alignRight让小红点和TextView右对齐就行了,如果小红点覆盖在TextView上面不好看的话,我们再给TextView添加一个paddingRight属性,让小红点完美的露出来不压在TextView上面;

感觉这个方法适用任何的控件;

TextView右上角显示小红点,小红点根据TextView的长度移动,小红点被TextView挤出去不显示的问题;的更多相关文章

  1. C#:decimal的去0显示

    public static string DecimalToString(decimal d) { return d.ToString("#0.######"); } 后面的0会给 ...

  2. c#中decimal的去0显示

    在近来的开发中,遇到到了decimal中显示0的问题,搞了很久才搞好了,现在就简单介绍一下其中一小部分,其他的网上很上很多 public static string DecimalToString(d ...

  3. aabccd统计每个字符出现的次数,结果显示{ a: 2, b: 1, c: 2, d: 1 };去掉重复的字符,使结果显示abcd

    遍历字符串的方式和遍历数组的方式有点相似,或者说就是相同的.在学习数组的遍历方法之前,可以通过for循环去遍历数组,同样,字符串也可以:字符串跟数组都有一个length的属性.下面代码奉上,个人思路! ...

  4. C# VS 断点进不去,显示红色空心右下角黄色感叹号图标

    今天开发同事遇到了一个诡异的问题,使用 Visual Studio 调式 C# 代码时,断电位置一直显示红色空心右下角有黄色感叹号的图标(下图所示),断点调试死活进不去. 几个同事过去看了下,都隐约感 ...

  5. 在页面中添加两个 <select> 标签,用来显示年份和月份;同时添加两个 <ul> 标签,一个用来显示星期,另一个用来显示日期 在 JavaScript 脚本中动态添加年份和月份,获取当前日期的年份

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的 Date 对象,在页面上显示一个万年历.选择不同的年份和月份,在页面中显示当前月的日历 实现思路: 在页面中添加两个 <s ...

  6. Ubuntu进不去,显示error:unknown filesystem (最简单解决方案总结)

    error filesysterm:文件系统错误 grub rescue:是让你拯救grub,就是你的grub坏了,引导程序坏了 要安装盘?要重装?No…… 只要几行命令就ok了 是的,这是我昨天亲自 ...

  7. 用javascript写一个显示时间差 几分钟前 几小时前 几天前 几周前 大于一个月显示日期

    window.onload = function(){ var show_times = $(".times span"); for(var i=0;i<show_times ...

  8. 按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示: 学生ID,,数据库,企业管理,英语,有效课程数,有效平均分

    SELECT S# as 学生ID ,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='004') AS 数据库 ,(SELECT score FROM S ...

  9. html 概念

    HTML 超文本标记语言,标准通用标记语言下的一个应用.http://baike.baidu.com/link?url=RYF4Pj7VUPifcXatU7OJLGRljIgkp4MjzkspARor ...

随机推荐

  1. ThreadLocal使用注意

    ThreadLocal<T>的出现是一种空间换时间的思想的运用,是为了多线程环境下单线程内变量共享的问题.它的原理就是每个线程通过ThreadLocal.ThreadLocalMap,保存 ...

  2. TweenMax 动画库,知识点

    官方地址:https://greensock.com/tweenmax github 地址:https://github.com/greensock/GreenSock-JS 比较好的介绍文章: ht ...

  3. Azkaban介绍+安装部署+实战案例

    Azkaban介绍 什么是azkaban?1.工作流的作业调度系统2.通过k.v指令写法描述工作流节点3.可以通过web界面去管理工作流 Azkaban安装部署 2.3.1 准备工作 Azkaban ...

  4. SystemParametersinfo 用法

    var   BmpPath: PChar; begin   BmpPath := 'C:\Temp\Test.bmp';   SystemParametersInfo(SPI_SETDESKWALLP ...

  5. 《JavaScript设计模式与开发》笔记 1.面向对象的JavaScript

    多态 封装 原型模式 基于原型模式的继承javascript对象 1.多态 多态的实际含义是:同一操作作用于不同的对象上面,可以产生不同的解释和不同的执行结果.换句话说,给不同的对象发哦少年宫同一个消 ...

  6. 让WebBrowser在非兼容模式下运行

    32 bit: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_ ...

  7. PHP 获取url里文件的扩展名

    PHP 获取url地址中文件的扩展名 $url = 'http://www.abc.com/ab/cd/e.php?id=1&data=2#laowen';echo pathinfo( par ...

  8. js 格式化时间日期函数小结

    下面是脚本之家为大家整理的一些格式化时间日期的函数代码,需要的朋友可以参考下. 代码如下: Date.prototype.format = function(format){ var o = { &q ...

  9. ALGO-13_蓝桥杯_算法训练_拦截导弹(贪心,DP)

    问题描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...

  10. 【java】之彻底明白进制转换

    首先区分 2进制  只有0和1组成    如:0101018进制  以0开头,0~7组成   如:01234510进制 以1~9开头,0~9组成      如:10016进制 以0X开头,0~9或者a ...