如何在Android的特定位置的ImageView上编写TextView?

时间:2015-03-07 16:29:37

标签: android android-layout

我正在尝试将TextView和ImageView结合起来,并希望将TextView放置在图像中两个圆圈的中心,但不知何故,我无法找到适用于不同类型设备的解决方案。 这是我正在尝试使用的图像:

enter image description here

这是我迄今为止所尝试过的。我将imageview和textview都放在了framelayout中,然后尝试使用linearlayouts和layout weight来调整textview。 `

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="80">

    <ImageView
        android:id="@+id/home"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/circle_pic"
        android:adjustViewBounds="true" />

    <LinearLayout
        android:id="@+id/home_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <LinearLayout
            android:id="@+id/ll1"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:orientation="horizontal"
            android:layout_weight="60"
            android:gravity="center">

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="85"
                android:orientation="vertical"
                android:gravity="center">

                <TextView
                    android:id="@+id/tv1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="15sp"
                    android:textColor="@color/white"
                    android:text="@string/text1"/>

                <TextView
                    android:id="@+id/tv2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="50sp"
                    android:textColor="@color/white"
                    android:text="@string/text2"/>

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="15">

            </LinearLayout>

        </LinearLayout>

        <LinearLayout
            android:id="@+id/ll3"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_below="@id/text3"
            android:orientation="horizontal"
            android:layout_weight="40"
            android:gravity="center_horizontal">

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="40">

            </LinearLayout>

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="60"
                android:orientation="vertical"
                android:gravity="center">

                <TextView
                    android:id="@+id/tv3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="15sp"
                    android:text="@string/tv3"
                    android:textColor="@color/white"/>

                <TextView
                    android:id="@+id/tv4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="50sp"
                    android:text="000"
                    android:textColor="@color/white"/>

            </LinearLayout>

        </LinearLayout>

    </LinearLayout>

</FrameLayout>`

1 个答案:

答案 0 :(得分:0)

您可以使用RelativeLayout来实现此目的

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="<your_drawable>"/>
    <TextView 
          android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/imageView"
        android:layout_alignRight="@id/imageView"
        android:layout_alignTop="@id/imageView"
        android:layout_alignBottom="@id/imageView"
        android:gravity="center"/>
</RelativeLayout>