Android RelativeLayout布局(u-toLeftOf)不';I don’我没有按预期工作

Android RelativeLayout布局(u-toLeftOf)不';I don’我没有按预期工作,android,android-relativelayout,Android,Android Relativelayout,结果是: 我所期望的是: 为什么它不工作?下面是我让它工作的答案: <?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:

结果是:

我所期望的是:


为什么它不工作?

下面是我让它工作的答案:

<?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>

不要使用px。使用dip/dp(独立像素)。此外,要创建彩色块,您只需要一个视图,但这取决于其中的内容


阅读本教程后,我发现它对布局非常有用-

以下是我的答案:

<?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>

不要使用px。使用dip/dp(独立像素)。此外,要创建彩色块,您只需要一个视图,但这取决于其中的内容


阅读本教程后,我发现它对布局非常有用-

来自android:layout\u-toLeftOf定义: 将此视图的右边缘定位到给定锚定视图ID的左侧。容纳此视图的右边缘和锚定视图的左边缘

因此,神奇之处在于将虚拟视图放置在没有边距的位置:

<?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>

来自android:layout\u-toLeftOf
定义: 将此视图的右边缘定位到给定锚定视图ID的左侧。容纳此视图的右边缘和锚定视图的左边缘

因此,神奇之处在于将虚拟视图放置在没有边距的位置:

<?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>


下面的答案只是一个解决办法,但我想知道为什么您的代码不起作用!下面的答案只是一个解决办法,但我想知道为什么你的代码不起作用!