我有一个正方形的图像...在布局中我想在正方形内设置文本,所以我将属性边距底部100dp设置为'TextView',而在HDPI手机中我的文本是正方形。这很酷。但是,当我在MDPI设备上运行我的应用时,Text看起来要高一点。
这是可以理解的,因为MDPI和HDPI有不同的分辨率......那怎么样?如何设置文本,它在两个设备上看起来是成比例的?
答案 0 :(得分:1)
在这种情况下,您可以使用FrameLayout
。这是一个简单的例子:
<FrameLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="#ff0000">
<ImageView
android:layout_height="100dp"
android:layout_width="100dp"
android:background="#00ff00"
android:src="@drawable/icon"
android:scaleType="fitXY" />
<TextView
android:layout_height="100dp"
android:layout_width="100dp"
android:gravity="center"
android:text="This is text"
android:textColor="#0000ff"/>
</FrameLayout>
答案 1 :(得分:1)
为什么不将图像和文本包装在FrameLayout中,并为TextView提供layout_gravity="center"
属性?使用您当前的方法,不同的宽高比将为您提供不同的定位。