Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何显示ListView中项目的计数_Android - Fatal编程技术网

Android 如何显示ListView中项目的计数

Android 如何显示ListView中项目的计数,android,Android,我想在一个红色圆圈内显示一个计数,该圆圈显示该项目的新闻条目。像电子邮件计数一样,知道吗 不管怎样,我能做到吗?或者最好的方法是创建一个新的TextView并实现它 提前感谢。使用具有如下背景图像的文本视图: <TextView android:id="@+id/count" android:layout_width="wrap_content" android:layout_height="wrap_content" android:backgro

我想在一个红色圆圈内显示一个计数,该圆圈显示该项目的新闻条目。像电子邮件计数一样,知道吗

不管怎样,我能做到吗?或者最好的方法是创建一个新的TextView并实现它


提前感谢。

使用具有如下背景图像的文本视图:

<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布局的一个重要规则是让它们尽可能简单。渲染的视图越少,性能越好(对于列表或网格视图等集合视图尤其重要)。如果你能用一个简单的文本视图来做,那就去做吧。没有更简单、更有效的解决方案。