我有一个带有位图drawable的ImageView。每个设备密度都有不同版本的位图(hdpi,xhdpi,xxhdpi等)。
我想将TextView放在ImageView的顶部,并且相对于ImageView的位置。例如从右边30px,从顶部50px。 TextView需要始终显示在图像的某个部分,因此对于为不同屏幕密度创建的每个版本的图像,它的位置将不同。
使用像素定位似乎有效。我能够为不同版本的图像(hdpi,xhdpi等)创建具有像素值的不同XML布局文件。但是,我无法在dimen.xml中指定px单位
这里使用像素定位的方法是否正确?相对于图像的像素定位是否适用于不同的设备?
答案 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>