首页 > 解决方案 > android Layout 内容位置变化

问题描述

我的问题很可能看起来很愚蠢。但我是 android 开发的新手。我有一个问题。

我正在尝试为我的应用程序自定义登录活动,但我的问题是当我将 editText 字段放置在活动背景的某个位置时。我的问题是,如何实现以下结果,并保持内容的位置不变,即使屏幕尺寸发生变化,因为当更改为更大的手机时,编辑文本字段会向上移动

需要的结果

我使用的 XML 代码是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/relativeLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/emailpassback_a"
    tools:context="rubydev.learningforkids.Registration.LoginActivity">


    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/loginEmailLayout"
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="250dp"
        android:layout_marginRight="110dp"
        android:hint="Email">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/loginEmail"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fontFamily="@font/miny"
            android:inputType="textEmailAddress"
            android:layout_marginTop="250dp"
            android:textColor="@color/purple_500"
            android:textSize="15sp" />

    </com.google.android.material.textfield.TextInputLayout>


    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/loginPasswordLayout"
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="110dp"
        android:hint="Password"
        app:passwordToggleEnabled="true"
        android:layout_below="@+id/loginEmailLayout">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/loginPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fontFamily="@font/miny"
            android:inputType="textPassword"
            android:textColor="@color/purple_500"
            android:textSize="15sp" />


    </com.google.android.material.textfield.TextInputLayout>


    <TextView
        android:id="@+id/loginBtn"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_marginLeft="90dp"
        android:layout_marginTop="70dp"
        android:background="@drawable/rounded_edge_items"
        android:fontFamily="@font/miny"
        android:gravity="center"
        android:paddingHorizontal="50dp"
        android:text="Login"
        android:textAllCaps="false"
        android:textColor="@color/purple_500"
        android:textSize="20sp"
        android:layout_below="@id/loginPasswordLayout"/>

    <TextView
        android:id="@+id/noaccountBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="105dp"
        android:layout_marginTop="100dp"
        android:fontFamily="@font/miny"
        android:gravity="center"
        android:text="New Account?"
        android:textColor="@color/purple_500"
        android:textSize="20sp"
        android:textStyle="bold"
        android:layout_below="@+id/loginBtn" />

    <TextView
        android:id="@+id/forgotpassBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="95dp"
        android:layout_marginTop="20dp"
        android:fontFamily="@font/miny"
        android:gravity="center"
        android:text="Forgot Password?"
        android:textColor="@color/purple_500"
        android:textSize="20sp"
        android:textStyle="bold"
        android:layout_below="@id/noaccountBtn" />

</RelativeLayout>

标签: layoutscreen-size

解决方案


推荐阅读