Android TextView over ImageView定位

时间:2014-03-13 13:24:26

标签: android android-layout relativelayout textview

我试图将textview放在用作背景图像的imageview上。我的问题是Android根据textview的文本长度计算位置,所以当我用某个文本定位它时,较长的文本会再次将它推出位置。这就是我想要实现的目标。黑色的大事是单张照片,而不是因为我可以定位这两个文本视图(红色)。我的问题是textviews不在任何" android"任何东西的中心/左/右位置。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以将TextView包装在垂直LinearLayout中。 要在中间(中间的左侧或右侧)移动此LinearLayout,请使用具有空视图和android:layout_weight属性的水平LinearLayout。 例如:

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

<ImageView
            android:layout_width="match_parent" 
            android:src="@drawable/your_image" 
            android:layout_height="match_parent"/>

<LinearLayout
            android:orientation="horizontal" 
            android:layout_width="match_parent" 
            android:layout_alignParentBottom="true" 
            android:layout_marginBottom="50dp" 
            android:layout_height="wrap_content">
<View
                android:layout_width="0dp" 
                android:layout_height="0dp" 
                android:layout_weight="1.2"/>
<LinearLayout
                android:orientation="vertical" 
                android:layout_width="0dp" 
                android:layout_weight="1" 
                android:layout_height="wrap_content">
<TextView
                    android:id="@+id/text_view" 
                    android:layout_width="wrap_content" 
                    android:layout_height="wrap_content" 
                    android:text="Short text"/>
<TextView
                    android:layout_width="wrap_content" 
                    android:layout_height="wrap_content" 
                    android:text="Looooooooooooooooooooooong text"/>
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>