我有一个带有背景图像的 android 应用程序,我会在模拟器上部署它并查看它的行为。
最初我使用带有皮肤 WVGA800 的模拟器。在 UI 中,布局中声明的所有 textView 都已正确放置。但是当我将模拟器皮肤更改为 500x600 时,在 UI 中很少有 textView 放错位置。
所以有人可以建议如何处理这个问题。
我有一个带有背景图像的 android 应用程序,我会在模拟器上部署它并查看它的行为。
最初我使用带有皮肤 WVGA800 的模拟器。在 UI 中,布局中声明的所有 textView 都已正确放置。但是当我将模拟器皮肤更改为 500x600 时,在 UI 中很少有 textView 放错位置。
所以有人可以建议如何处理这个问题。
我的选择: 1)对于简单的 ui,我认为你可以使用许多带有视图的 attars,如下;android:layout_centerHrizontal android:layout_centerVertical
android:layout_centerInparent
android:layout_alignParentBottom android:layout_alignParentLeft
android:layout_alignParentRight
android:layout_alignParentTop
android:layout_alignWithParentIfMissing
android:layout_below
android:layout_above
android:layout_toLeftOf
android:layout_toRightOf
android:layout_alignTop
android:layout_alignLeft
android:layout_alignBottom android:layout_alignRight
android:layout_marginBottom
android:layout_marginLeft
android:layout_marginRight
android:layout_marginTop
这有助于使用 layout 或 view attars 来设置它的位置。2)你可以使用一些布局xml来适应它。就像那样
if(screen width < 480)
setcontentview(r.layout.for480lay)
else if(screen width > 480&&screen width <640)
setcontentview(r.layout.for640lay)
..
..
关于 Android 的好处,但困难的是你不知道你的代码运行的设备的大小或纵横比是什么。如果您想要全屏图像,您需要愿意对它们进行缩放(按比例或不成比例)或裁剪。
如果您尝试将文本放置在背景图像上的特定位置,那么您将遇到麻烦。我以前试过这个,很快就改变了主意。
这是我的建议:阅读屏幕支持文档(如@abhilasha 所说)并使用可很好缩放的自适应 UI 元素(如 9-patch 图像、相对布局等)。
然后,如果您想在图像中放置文本,而不是尝试将 a 放置在TextView
上ImageView
,请将您想要的图像设置为TextView
. 然后你知道文本相对于图像的位置。