我正在设计一个应用程序,其中有许多图像,按钮和textView散布在屏幕上。目前我正在使用相对布局,因为它似乎是最灵活的。但是,我放置了我的元素,它们的大小仍然局限于与其他元素对齐。更糟糕的是,如果元素改变大小,任何与其对齐的元素也将改变大小。
必须有一个简单的解决方案! Apple的nib文件可轻松执行此操作,轻松拖放到任何位置;但是android似乎卡在限制性表/线性/相对/网格布局中。
如果可能,可以通过eclipse执行解决方案。如果没有,请引导我到相关文档学习通过xml创建我自己的布局,创建一个巨大的网格布局或任何恐怖等待我:) 感谢
答案 0 :(得分:1)
我认为你想要的是绝对布局,不久之前这些已被弃用了,我很确定你仍然可以通过相对布局做到这一点,你不一定需要将通道与另一个视图对齐,我猜你可以做这样的事情:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="70dp"
android:layout_marginTop="82dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="172dp"
android:layout_marginRight="84dp"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
我在这里所做的就是将它与父母的一边对齐并在它之间有一个边距
答案 1 :(得分:0)
您可以使用框架布局执行所要求的操作并设置每个对象的位置。但这样做需要您自担风险。 Apple nib文件让你随意放置对象的原因是所有设备的宽高比都是一样的。因此,您的布局可以均匀地向上和向下扩展。
Android是一个更加多样化的生态系统,您应该尝试以包含适应不同屏幕尺寸和方向的布局。
答案 2 :(得分:0)
查看Android custom layout和Android - How to draw a letter at a specific point?
您是否计划仅在单个Android设备型号上使用该应用程序?如果是,请检查AbsoluteLayout的替代方案。 (FrameLayout或RelativeLayout)
将“随心所欲”放在任何地方并不是一个好主意,因为Android设备有很多不同的屏幕尺寸和属性。唯一的选择是定义自己的自定义布局。
我实际上非常喜欢Android尝试让您的布局与使用对齐和结构化布局视图的设备兼容的方式。
对Apple来说简单的原因是你只针对iPhone,它在所有设备上都有固定的屏幕属性。
希望它有所帮助。祝你好运。