Android 如何显示ListView中项目的计数
我想在一个红色圆圈内显示一个计数,该圆圈显示该项目的新闻条目。像电子邮件计数一样,知道吗 不管怎样,我能做到吗?或者最好的方法是创建一个新的TextView并实现它Android 如何显示ListView中项目的计数,android,Android,我想在一个红色圆圈内显示一个计数,该圆圈显示该项目的新闻条目。像电子邮件计数一样,知道吗 不管怎样,我能做到吗?或者最好的方法是创建一个新的TextView并实现它 提前感谢。使用具有如下背景图像的文本视图: <TextView android:id="@+id/count" android:layout_width="wrap_content" android:layout_height="wrap_content" android:backgro
提前感谢。使用具有如下背景图像的文本视图:
<TextView
android:id="@+id/count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/mybackground"/>
背景图像最好是9-patch可绘制的(),也可以是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FF0000"/>
<corners android:radius="4dp"/>
</shape>
这个可以画一个圆角的红色矩形,但是你可以创建任何你喜欢的形状()
如果不希望文本居中(如右下角),则有两个选项:
选项1
将TextView设置为比仅环绕文本时更大(这是默认设置)。因此,可以为android:layout\u width和android:layout\u height使用match\u parent,或者设置一个绝对大小(以dp为单位)。还可以使用“重力”参数将其定位在右下角:
<TextView
android:id="@+id/count"
android:layout_width="100dp"
android:layout_height="100dp"
android:gravity="right|bottom"
android:background="@drawable/mybackground"/>
选项2
使用填充按需要移动的方向移动文本:
<TextView
android:id="@+id/count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingLeft="10dp"
android:background="@drawable/mybackground"/>
当然,将两个视图放在一起使用也是可能的,但效率低下。在TextView(用于计数器)和ImageView(用于背景)周围至少需要一个额外的视图组(例如FrameLayout),以确保它们位于彼此上方,这意味着您将用三个其他视图替换一个TextView。此外,您还必须将封闭视图组的大小设置为大于TextView的大小,因此该解决方案没有任何好处。我试图避免创建TextView。你知道我是否可以将文本视图放在图像或其他文本视图的上方吗?示例:我有一个图像,我想把这个文本视图放在图像的内部(上方),在图像的右下方对齐。有可能吗?所以你是在开发过程中改变需求的人之一,我们以前见过吗?;-)。无论如何,我改变了我的答案来反映这个变化。哈哈,不,伙计!我是android新手,我想知道是否有另一种解决方案来代替textview,但如果是这样,我们就开始吧..谢谢你的回答/解释:)android布局的一个重要规则是让它们尽可能简单。渲染的视图越少,性能越好(对于列表或网格视图等集合视图尤其重要)。如果你能用一个简单的文本视图来做,那就去做吧。没有更简单、更有效的解决方案。