3

我正在创建我的第一个 android 应用程序,这让我发疯了。

我的应用程序适用于 android 智能手机,我的布局只需要一个特定的设计。我不需要更改每个设备的布局设计。我要做的就是调整布局大小以支持所有不同的屏幕尺寸和分辨率。我已经尝试了多种方法,但似乎无法做到正确。

例如:我的页面上有几个按钮,这些按钮需要位于我作为背景的图像上的特定点。即使设备的屏幕尺寸增加或屏幕分辨率增加,这些按钮仍需要位于图像上的同一点。

只是关于我的应用程序的一些信息:

- 我的所有按钮位置都在 DIP 中(我尝试过的解决方案之一是让我这样做) - 我的布局 XML 文件位于名为“布局”的文件夹中

任何帮助将不胜感激

这是我的一种布局的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/mybackground"

>
<Button  
android:layout_width="115dip" 
android:layout_marginTop="450dip" 
android:layout_marginLeft="105dip" 
android:layout_height="50dip" 
android:id="@+id/button01"

>
</Button>

<Button  
android:layout_width="70dip" 
android:layout_marginTop="460dip" 
android:layout_marginLeft="250dip" 
android:layout_height="40dip" 
android:id="@+id/button03"

>
</Button>




</RelativeLayout>

上面的代码是我的布局之一。此布局有两个按钮,需要位于与背景“mybackground”相关的相同位置。这些按钮应用了透明属性,因此图像上的元素就是“按钮”。这适用于我的 Droid2,但是当应用于更大或更密集的屏幕时,按钮不再处于相对于图像的正确位置。

4

3 回答 3

2

adamp 在他对 Rollin_s 问题的评论中所说的是:您需要将按钮放在背景上特定位置的原因是什么?如果该点是另一个需要对齐的图像(例如),则将该图像设为自己的 ImageView 并将按钮与 RelativeLayout 参数对齐。也许如果你包含一个截图,有人可以给你一个更好的例子来说明该怎么做。此外,GridView 和 TableLayout 是对齐布局组件以适应不同屏幕尺寸的好对象。

于 2011-04-08T00:41:12.013 回答
0

听起来有点古怪,但如果您只需要使用等效 iPhone UI 的扁平图像,并且您需要添加的唯一 UI 元素是顶部的按钮,我可能会尝试以下替代繁琐工作的方法试图让透明按钮对齐:

  • 确定您的按钮位置相对于您的正常/未缩放图像的位置,在您选择的某些数据结构中记录顶部、左侧、底部、右侧的值
  • 使用 FitXY 将图像放置在 ImageView 中以进行缩放
  • 通过检查 ImageViews H & W 并与您的原生图像 H & W 进行比较,计算 android 应用于您的图像的缩放比例
  • 做一些数学运算来缩放原始值的顶部、左侧、底部和右侧值
  • 然后在图像视图的 onClick 处理程序中,您应该能够测试触摸的坐标是否在您现在拥有的任何缩放边界内。

可能会比摆弄布局的东西更准确、更容易维护、更省事。

当然,更正确的解决方案是获取用于执行 iPhone 应用程序的实际单个图形元素,并在 android 中重新实现 UI。

祝你好运。

于 2011-04-08T23:41:47.603 回答