android - 放置对象/设计活动的最佳方式

时间:2014-04-29 18:09:28

标签: android android-layout

所以我收到了正在构建的应用程序的图形界面。它有一些图像和文本,图像以特定的方式设置,一些文本在内部或顶部的一些图像。

在我打开的android项目中,我得到了相对于RelativeLayout的默认活动,但很难将所有元素准确地设置在设计器的位置,直接编辑XML似乎很痛苦。

我也看到我添加的元素总是“对齐”某些东西或右/左到其他元素 - 但我真正想做的是将它们放在特定位置(所以最终结果将是相同的我得到的设计)。如果我正在为网络构建它,我会使用绝对位置。

在android中解决这个问题的正确方法是什么?

由于

修改

我设法开始实现设计的一些元素,使它们在eclipse图形布局和我的设备上看起来很好。

这个XML是否正常 - 或者我使用它错了:

<ImageView
    android:id="@+id/imgClouds"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:contentDescription="@string/layout_activity_main_imgClouds"
    android:scaleType="centerCrop"
    android:src="@drawable/clouds_ltr" />

<ImageView
    android:id="@+id/imgBaby"
    android:layout_below="@+id/imgClouds"
    android:layout_width="50dp"
    android:layout_height="52dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="5dp"
    android:layout_marginTop="75dp"
    android:contentDescription="@string/layout_activity_main_imgBaby"
    android:src="@drawable/baby" />

<ImageView
    android:id="@+id/imgBubble"
    android:layout_toLeftOf="@+id/imgBaby"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="false"
    android:layout_alignParentTop="false"
    android:layout_marginLeft="56dp"
    android:layout_marginTop="-5dp"
    android:layout_marginRight="5dp"
    android:src="@drawable/bubble_ltr" />


</RelativeLayout>

1 个答案:

答案 0 :(得分:3)

这主要是基于意见的,但是大多数Android开发人员会同意某些事情,“绝对位置”在Android中不是一个选项,因为操作系统的性质就像设备屏幕大小/密度中的碎片一样,具有绝对位置元素将导致一个糟糕的应用程序,它只会在您正在使用的设备中看起来很好,并且很可能所有其他设备看起来都不像您期望的那样,您真的需要查看android设计模式和最佳实践以避免可怕的GUI实现,RelativeLayout是最好的方式,在Android中你必须学会​​喜欢它...

此外,您越早习惯在布局中直接使用XML对您来说会更好,大多数支持此功能的IDE最终会添加大量不必要的代码,一旦您通过学习曲线构建布局XML完全值得。

希望它有所帮助!

问候!