Android布局-具有相同父级的RelativeLayout和LinearLayout之间的约束

时间:2018-10-28 14:37:24

标签: android android-layout android-linearlayout android-relativelayout

我的Android应用程序中有一个布局文件,如下所示;

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/myPage"
        android:theme="@style/login"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1">

           <ImageView
                android:id="@+id/myimageview"
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="50dp"
                android:src="@drawable/mypicture"/>
            <com.myapp.RobotoTextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/myimageview"
                android:layout_marginBottom="10dp"
                android:gravity="center"
                android:text="@string/mystring"
                android:textColor="#fff"
                android:textSize="12sp"
                app:rt_fontWeight="light" />

        </RelativeLayout>

       <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:layout_alignParentBottom="true"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:orientation="vertical">

<android.support.design.widget.TextInputLayout
            android:id="@+id/password_text_input_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            app:theme="@style/loginTheme">
              <android.support.v7.widget.AppCompatEditText
                android:id="@+id/password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fontFamily="sans-serif"
                android:hint="@string/password"
                android:inputType="textPassword" />
        </android.support.design.widget.TextInputLayout> 
        </LinearLayout>
    </RelativeLayout>

我想在包含RobotoTextView RelativeLayout LinearLayout 之间放置空格。它们在我的布局文件中处于同一级别另外,我的应用必须在不同的屏幕分辨率下运行。

在此文本视图下, RobotoTextView LinearLayout 之间的约束必须类似。

我在LinearLayout中尝试了android:layout_marginTop,但是没有用。 RobotoTextView 与LinearLayout下的文本视图重叠

2 个答案:

答案 0 :(得分:1)

将此属性添加到为其赋予ID的底部布局中

android:id="@+id/bottom"

,并将这些放置到顶部布局:

android:layout_marginBottom="10dp"
android:layout_alignParentTop="true"
android:layout_above="@+id/bottom"

您可以将10dp更改为您喜欢的任何内容。
同时删除

android:layout_weight="1"

因为它仅适用于LinearLayout内的视图

答案 1 :(得分:1)

您的解释不够好,但是,根据您的说明,我已尽力而为。

&a = &b;