我有一个正方形的图像...在布局中,我想在正方形内设置文本,所以我将属性边距底部100dp设置为'TextView',在HDPI手机中我的文本是正方形。这很酷。但是,当我在MDPI设备上运行我的应用程序时,文本看起来应该高一点。Android:TextView保证金底部
其可理解,因为MDPI和HDPI有不同的分辨率......那么该怎么做?如何设置文本,使其外观在两个设备上都成比例?
我有一个正方形的图像...在布局中,我想在正方形内设置文本,所以我将属性边距底部100dp设置为'TextView',在HDPI手机中我的文本是正方形。这很酷。但是,当我在MDPI设备上运行我的应用程序时,文本看起来应该高一点。Android:TextView保证金底部
其可理解,因为MDPI和HDPI有不同的分辨率......那么该怎么做?如何设置文本,使其外观在两个设备上都成比例?
你为什么不只是包装的图像和文本的FrameLayout内,并给TextView的一个layout_gravity="center"
属性?用你目前的方法,不同的纵横比会给你不同的定位。
我的广场在图像不在中心... – Jim 2011-06-01 14:16:34
你想叠加到图像的特定部分?在这种情况下,你可能只想给TextView一个''top | left''的layout_gravity,''center''的重力',并找到正确的像素x,y坐标,正方形的大小像素,并给你的TextView的宽度和高度,左上边距分别匹配x和y坐标。 – kcoppock 2011-06-01 14:20:59
真的,有可能有更好的方法来做到这一点。请添加更多详细信息。您可能只需将图像放在图像上,然后只需给TextView一个背景就可以匹配。 – kcoppock 2011-06-01 14:21:43
在这种情况下,您可以使用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>
你用什么单位设置文字大小?如果使用dip(密度独立像素),则文本大小将按比例相同。 – 2011-06-01 14:05:48
文字大小?我们不是在谈论文字大小.... – Jim 2011-06-01 14:15:51