gpt4 book ai didi

android - 使用 android :background tag more than once 的自定义 TextView 功能

转载 作者:行者123 更新时间:2023-11-30 02:07:32 25 4
gpt4 key购买 nike

我的 android:background 标签有问题,我只能使用一次,而我的 TextView 需要不止一次的功能。更多详情如下:

我有 3 个 TextView:

<LinearLayout android:id="@+id/info" android:layout_marginTop="68dp"
android:layout_width="wrap_content" android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:orientation="horizontal">

<TextView android:id="@+id/tour1"
android:paddingLeft="10dp" android:paddingRight="10dp"
android:paddingTop="8dp" android:paddingBottom="8dp"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/back"
android:gravity="center"
android:text="Tour \n disponibili \n 21"/>

<TextView android:id="@+id/tour2" android:layout_toRightOf="@+id/tour1"
android:paddingLeft="10dp" android:paddingRight="10dp"
android:paddingTop="8dp" android:paddingBottom="8dp"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/back"
android:gravity="center"
android:text="Tour \n prenotabili \n 16"
android:layout_marginLeft="16dp"/>

<TextView android:id="@+id/tour3" android:layout_toRightOf="@+id/tour2"
android:paddingLeft="10dp" android:paddingRight="10dp"
android:paddingTop="8dp" android:paddingBottom="8dp"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/back"
android:gravity="center"
android:text="Tour \n preferiti \n 3"
android:layout_marginLeft="16dp"/>
</LinearLayout>

此处显示:

enter image description here

TextView 边框是通过此文件 back.xml 获得的,包含在 res/drawable 文件夹中:

<shape xmlns:android="http://schemas.android.com/apk/res/android"   
android:shape="rectangle" >
<!--<solid android:color="#ffffff" />-->
<stroke android:width="1dip" android:color="#4fa5d5"/>
</shape>

由于我已经在使用background 标签输入back.xml 文件并为TextView 创建一个矩形边框,所以我不知道如何使用它满足我的其他需求,即:

  • 获取带有圆角的 TextView 的边框
  • 获取一个图标作为 TextView 的背景,如下所示:here

据我所知,我只能使用标记 background 来执行此操作,该标记已用于获取 back.xml 可绘制对象。

我怎样才能满足我的需求?

最佳答案

您提供的示例很可能是通过“drawableTop”属性实现的。正如您所说,每个属性只能使用一次,因此如果您想使用不同的图像并将它们作为背景的一部分,则每个 View 都需要不同的背景资源。

对于圆角,在标签下方的 back.xml 文件中添加一个标签,并使用“android:radius”定义半径。

要创建一个也对状态变化使用react的选择器(假设您希望在按下 View 时边框变为红色),请使用:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true" >
<shape android:shape="rectangle" >
<stroke android:width="1dip" android:color="#ff0000"/>
<corners android:radius="5dip" />
</shape>
</item>

<item>
<shape android:shape="rectangle" >
<stroke android:width="1dip" android:color="#4fa5d5"/>
<corners android:radius="5dip" />
</shape>
</item>

</selector>

将它放在drawable文件夹中,并将“background”属性指向它。

关于android - 使用 android :background tag more than once 的自定义 TextView 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30466959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com