将TextView置于Android相对布局中的另一个视图中

时间:2016-07-28 06:00:16

标签: android android-layout textview

在我的相对布局中,我有一个圆形视图和一个TextView。我想将TextView完全置于圆视图中。我怎么做?我到目前为止的代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <View
        android:id="@+id/firstCircle"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginLeft="24dp"
        android:layout_marginTop="24dp"
        android:background="@drawable/circle" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="1"
        android:id="@+id/number1" />

</RelativeLayout>

我希望最终结果如下:

Screenshot

6 个答案:

答案 0 :(得分:2)

试试这个

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <View
        android:id="@+id/firstCircle"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginLeft="24dp"
        android:layout_marginTop="24dp"
        android:background="@drawable/circle" >
    </View>

    <TextView
        android:id="@+id/number1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="28dp"
        android:text="1" />

</RelativeLayout>

答案 1 :(得分:1)

将视图粘贴到其他framelyout上使用。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <View
            android:id="@+id/firstCircle"
            android:layout_width="24dp"
            android:layout_height="24dp"
            android:layout_marginLeft="24dp"
            android:layout_marginTop="24dp"
            android:background="@drawable/circle" />

        <TextView
            android:id="@+id/number1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1"
            android:layout_alignBottom="@+id/firstCircle"
            android:layout_alignRight="@+id/firstCircle"
            android:layout_alignEnd="@+id/firstCircle"
            android:layout_alignLeft="@+id/firstCircle"
            android:layout_alignStart="@+id/firstCircle"
            android:layout_alignTop="@+id/firstCircle"
            android:gravity="center" />
    </RelativeLayout>

</FrameLayout>

答案 2 :(得分:1)

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">

        <View
            android:id="@+id/firstCircle"
            android:layout_width="24dp"
            android:layout_height="24dp"
            android:layout_marginLeft="24dp"
            android:layout_marginTop="24dp"
            android:background="@drawable/circle" />

        <TextView
            android:id="@+id/number1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1"
            android:layout_alignBottom="@+id/firstCircle"
            android:layout_alignRight="@+id/firstCircle"
            android:layout_alignEnd="@+id/firstCircle"
            android:layout_alignLeft="@+id/firstCircle"
            android:layout_alignStart="@+id/firstCircle"
            android:layout_alignTop="@+id/firstCircle"
            android:gravity="center" />
    </RelativeLayout>

答案 3 :(得分:0)

按任何一种布局更改您的视图,如下所示,它会更好用,

 <LinearLayout
    android:id="@+id/firstCircle"
    android:layout_width="24dp"
    android:layout_height="24dp"
    android:layout_marginLeft="24dp"
    android:layout_marginTop="24dp"
    android:gravity="center"
    android:layout_gravity="center"
    android:background="@drawable/circle">

   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="1"
       android:gravity="center"
       android:id="@+id/number1" />
</LinearLayout>

答案 4 :(得分:0)

我认为你想要circleview作为TextView的背景。那么为什么不将该视图作为TextView的背景。

试试这个。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/circle"
        android:text="1"
        android:gravity="center"
        android:padding="10dp"
        android:id="@+id/number1" />

</RelativeLayout>

注意:您可以根据需要调整填充

答案 5 :(得分:0)

您不需要使用额外的View,只需将圆形图像设置为TextView的背景,并将gravity设置为center,如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        xmlns:app="http://schemas.android.com/apk/res-auto">


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1"
            android:gravity="center"
            android:background="@drawable/circle"
            android:id="@+id/number1" />

    </RelativeLayout>