0

我想使用 xml 在矩形上绘制文本。我希望文本以矩形为中心。矩形和文本都在网格布局内是有原因的。

<GridLayout
        android:id="@+id/daily"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:columnCount="3"
        android:orientation="horizontal"
        android:rowCount="1" >

        <TextView android:background="@drawable/green_rect_small" />

        <Space android:layout_width="3dp" />

        <RelativeLayout>

            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@drawable/green_rect_large" />

            <TextView
                android:id="@+id/daily_readings"
                android:background="@drawable/green_rect_large"
                android:text="@string/daily_readings"
                android:textColor="@color/white"
                android:textSize="40sp" />
        </RelativeLayout>
</GridLayout>

无论我将矩形设置为文本视图的背景还是单独的视图,我都无法完成。我哪里错了?

4

2 回答 2

3

您不需要使用 RelativeLayout 或单独的视图来绘制绿色矩形。如果我对您的理解正确,您只需一个 TextView 即可实现您想要的一切:

<TextView
    android:textColor="#FFFFFF"
    android:background="#339933"
    android:layout_width="200dp"
    android:layout_height="50dp"
    android:gravity="center"
    android:text="@string/hello_world" />

结果是:

在此处输入图像描述

于 2013-10-15T14:25:05.540 回答
1

将矩形设置为 RelativeLayout 背景,然后在其上设置文本中心

<?xml version="1.0" encoding="utf-8"?>
<GridLayout
        android:id="@+id/daily"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:columnCount="3"
        android:orientation="horizontal"
        android:rowCount="1" xmlns:android="http://schemas.android.com/apk/res/android">

        <RelativeLayout 
            android:layout_width="300dp"
            android:layout_height="200dp" 
            android:background="@drawable/green_rect_large">


            <TextView
                android:id="@+id/daily_readings"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:text="daily_readings"
                android:textColor="#FFFFFF"
                android:textSize="40sp"
                android:layout_centerInParent="true" />

        </RelativeLayout>
</GridLayout>
于 2013-10-15T14:07:34.167 回答