将Android视图定位在位图之上

时间:2014-07-07 20:18:31

标签: android android-layout android-ui

我有一个带有位图drawable的ImageView。每个设备密度都有不同版本的位图(hdpi,xhdpi,xxhdpi等)。

我想将TextView放在ImageView的顶部,并且相对于ImageView的位置。例如从右边30px,从顶部50px。 TextView需要始终显示在图像的某个部分,因此对于为不同屏幕密度创建的每个版本的图像,它的位置将不同。

使用像素定位似乎有效。我能够为不同版本的图像(hdpi,xhdpi等)创建具有像素值的不同XML布局文件。但是,我无法在dimen.xml中指定px单位

这里使用像素定位的方法是否正确?相对于图像的像素定位是否适用于不同的设备?

1 个答案:

答案 0 :(得分:1)

我会这样做。在 ImageView 上方放置 RelativeLayout ,并将其颜色设置为“#66cccccc”。并在其中添加 TextView

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

<ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="fitXY"
        android:src="@drawable/yourImage" />

 <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="25dp"
        android:background="#66cccccc">

        <TextView
         android:id="@+id/textView1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textColor="#fff"
         android:text="Test Description" />

    </RelativeLayout>


</RelativeLayout>