Android layout 右侧具有不同背景颜色的圆形列表项
这就是我努力实现的目标: 文本的数量将决定列表项中有多少部分的背景颜色为蓝色 我试图用选择器来实现这一点,但最终我得到了一个蓝色的正方形,其中最末端是灰色的。像这样: 你知道如何用一种简单的方法来实现吗?也就是说,最好只使用XML 这是我的方法(第二张图):Android layout 右侧具有不同背景颜色的圆形列表项,android-layout,Android Layout,这就是我努力实现的目标: 文本的数量将决定列表项中有多少部分的背景颜色为蓝色 我试图用选择器来实现这一点,但最终我得到了一个蓝色的正方形,其中最末端是灰色的。像这样: 你知道如何用一种简单的方法来实现吗?也就是说,最好只使用XML 这是我的方法(第二张图): 以及: 您可以通过以下代码获得所需的输出 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools
以及:
您可以通过以下代码获得所需的输出
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:background="@drawable/roundcorner_selector"
android:clickable="true"
android:descendantFocusability="blocksDescendants" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/half_roundcorner_selector"
android:padding="10dp"
android:text="TEdasdadaXT" />
</RelativeLayout>
圆角选择器:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="10dp" />
<solid android:color="@android:color/darker_gray" />
</shape>
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners
android:bottomRightRadius="10dp"
android:topRightRadius="10dp" />
<solid android:color="@android:color/holo_blue_light" />
</shape>
半圆形拐角选择器:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="10dp" />
<solid android:color="@android:color/darker_gray" />
</shape>
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners
android:bottomRightRadius="10dp"
android:topRightRadius="10dp" />
<solid android:color="@android:color/holo_blue_light" />
</shape>
您可以根据自己的要求对此进行修改
在您的代码中,您需要为
TextView
设置自定义绘图。因为通过将颜色设置为背景,它将成为正方形。“在代码中,您需要为TextView设置自定义可绘制选项”自定义可绘制选项?您的意思是setBackgroundResource()
?您是否以编程方式设置TextView
背景?如果是这样的话,您可以通过setBackgroundResource()设置可绘制的形状。多亏了您的回答,我成功地让它以我想要的方式工作。谢谢:-)我失败的原因是:我的抽屉里有一些填充物。太愚蠢了:-(