我如何让android“扩展”我的应用程序?

时间:2011-04-07 20:42:01

标签: android screen screen-resolution screen-size

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

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

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

关于我的申请的一些信息:

- 我的所有按钮位置都在DIP中(我试过的其中一个解决方案让我这样做) -my布局XML文件位于标题为“layout”的文件夹中

非常感谢任何帮助

以下是我的一个布局的代码:

<?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,但是当应用于更大或更密集的屏幕时,按钮不再处于与图像相关的正确位置。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

答案 2 :(得分:0)

听起来有点时髦但是如果您必须使用的是相同iPhone UI的平面图像,并且您需要添加的唯一UI元素是顶部的按钮,我可能会尝试以下替代方案尝试让透明按钮对齐的繁琐工作:

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

可能比摆弄布局更准确,更容易维护,更轻松。

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

祝你好运。