首页 > 解决方案 > TextView背后的android studio背景

问题描述

我正在尝试在 Android Studio 中实现这样的目标:

在此处输入图像描述

我不希望背景形状与 TextView 大小一样,我希望它是上图大小的一半。这就是我试图做的:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:bottom="30dp">
        <shape android:shape="rectangle" >
            <solid android:color="#f3f3f3" />
        </shape>
    </item>

    <item android:top="20dp">
        <shape android:shape="rectangle" >
            <solid android:color="#FFC107" />
        </shape>
    </item>
</layer-list>

它看起来像这样:

在此处输入图像描述

不完全是我想要的。我怎么能像上图那样做呢?

标签: android-studio

解决方案


尝试这个:

res/drawable在一个名为的新文件中定义double_color.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/shape_rectangle">
        <shape android:shape="rectangle" >
            <solid android:color="@color/green" />
        </shape>
    </item>
    <item android:top="-10dp" android:right="-10dp" android:left="-10dp">
        <shape>
            <solid android:color="@android:color/transparent" />
            <stroke
                android:width="10dp"
                android:color="@android:color/white"/>
        </shape>
    </item>
</layer-list>

将新样式定义res/values为:

<style name="TexViewStyle" parent="TextAppearance.AppCompat">
    <item name="android:background">@drawable/double_color</item>
</style>

最后为您的 textView 添加样式:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Full name"
    style="@style/TexViewStyle"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

会是这样的:

在此处输入图像描述


推荐阅读