<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#cccccc">
<!-- LEFT -->
<FrameLayout
android:layout_marginTop="50px"
android:layout_marginLeft="50px"
android:layout_width="50px"
android:layout_height="50px"
android:background="#ff0000"
android:id="@+id/lp" />
<FrameLayout
android:layout_width="50px"
android:layout_height="100px"
android:background="#00ff00"
android:layout_toRightOf="@id/lp"
android:layout_alignTop="@id/lp"
android:id="@+id/lc" />
<!-- END LEFT -->
<!-- RIGHT -->
<FrameLayout
android:layout_marginTop="50px"
android:layout_marginLeft="300px"
android:layout_width="50px"
android:layout_height="50px"
android:background="#ff0000"
android:id="@+id/rp" />
<FrameLayout
android:layout_width="50px"
android:layout_height="100px"
android:background="#00ff00"
android:layout_toLeftOf="@id/rp"
android:layout_alignTop="@id/rp"
android:id="@+id/rc" />
<!-- END LEFT -->
</RelativeLayout>
结果是:
我的期望是:
为什么不起作用?
答案 0 :(得分:1)
以下是我的答案:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#cccccc">
<!-- LEFT -->
<View
android:layout_alignParentLeft="true"
android:layout_marginTop="50dp"
android:layout_marginLeft="50dp"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="#ff0000"
android:id="@+id/lp" />
<View
android:layout_width="50dp"
android:layout_height="100dp"
android:background="#00ff00"
android:layout_toRightOf="@id/lp"
android:layout_alignTop="@id/lp"
android:id="@+id/lc" />
<!-- END LEFT -->
<!-- RIGHT -->
<View
android:layout_alignParentRight="true"
android:layout_marginTop="50dp"
android:layout_marginRight="50dp"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="#ff0000"
android:id="@+id/rp" />
<View
android:layout_width="50dp"
android:layout_height="100dp"
android:background="#00ff00"
android:layout_toLeftOf="@id/rp"
android:layout_alignTop="@id/rp"
android:id="@+id/rc" />
<!-- END LEFT -->
</RelativeLayout>
不要使用px。使用dip / dp(独立像素)。另外,要创建彩色块,您只需要一个View,但这取决于它们的内容。
阅读本教程我发现它对布局非常有用 - http://www.learn-android.com/2010/01/05/android-layout-tutorial/5/
答案 1 :(得分:0)
来自 android:layout_toLeftOf 定义: 将此视图的右边缘定位在给定锚点视图ID的左侧。 适应此视图的右边距以及锚点视图的左边距。
所以,神奇的是没有边距的假视图:
<View
android:id="@+id/ltEdge"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_alignLeft="@id/lp"
/>
<View
android:layout_width="50px"
android:layout_height="100px"
android:background="#00ff00"
android:layout_toRightOf="@id/ltEdge"
android:layout_alignTop="@id/lp"
android:id="@+id/lc" />