如何在Android Studio中的TextView中使用矩形背景?

时间:2019-07-15 08:58:20

标签: java android xml android-studio android-drawable

我在Adobe XD上设计了一个应用程序,并在Android Studio上的可绘制文件夹中导出了一些资产。在我的活动xml中,我在自己的可绘制对象中添加了TextView背景作为矩形形状。它有效,但是当我尝试对齐文本但没有对齐形状时,什么也没有发生。我想我无法将文本与背景分开

1 个答案:

答案 0 :(得分:0)

请勿将图片用作背景创建可绘制的文件并将其用作背景

例如,在可绘制文件夹中创建TextViewBackground.xml

<?xml version="1.0" encoding="utf-8"?>
  <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/Color_White_4" />
    <corners android:radius="10dp" />
  </shape> 

并在您的TextView中使用

<TextView
.
.
.
android:background="@drawable/TextViewBackground"/>

尝试创建自定义TextView

<RelativeLayout
            android:id="@+id/Login_Username_TextView"
            android:layout_width="match_parent"
            android:layout_height="70dp"
            android:layout_below="@+id/Login_Title"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="40dp"
            android:background="@drawable/TextViewBackground">

            <TextView
                android:id="@+id/Login_Username_Hint"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_marginEnd="38dp"
                android:layout_marginTop="8dp"
                android:text="@string/User_Name"
                android:textColorHint="@color/Color_Gray_1"
                android:textSize="12sp" />

            <EditText
                android:id="@+id/Login_Username_Text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_below="@id/Login_Username_Hint"
                android:layout_marginEnd="32dp"
                android:layout_marginStart="32dp"
                android:inputType="textPersonName"
                android:lines="1"
                android:padding="1dp"
                android:textColor="@color/Color_Gray_1"
                android:textSize="14sp"
                android:textStyle="bold" />
        </RelativeLayout>