Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 居中对齐的登录屏幕_Android_Android Layout - Fatal编程技术网

Android 居中对齐的登录屏幕

Android 居中对齐的登录屏幕,android,android-layout,Android,Android Layout,我想设计一个登录屏幕。内容应水平和垂直对准中心。到目前为止,我已经创建了以下内容: 目前,我已将marginTop赋予我的顶级元素,即图标。但我认为这不是一个合适的方式。我希望用户名字段位于屏幕的垂直中心。这将把整个内容移到屏幕中间。 以下是我目前的布局代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.

我想设计一个登录屏幕。内容应水平和垂直对准中心。到目前为止,我已经创建了以下内容:

目前,我已将marginTop赋予我的顶级元素,即图标。但我认为这不是一个合适的方式。我希望用户名字段位于屏幕的垂直中心。这将把整个内容移到屏幕中间。

以下是我目前的布局代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".LoginActivity" 
    android:background="#d1d6df">

    <ImageView 
        android:id="@+id/imgIcon"
        android:src="@drawable/ic_launcher"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="Icon"
        android:layout_marginBottom="20dp"
        android:layout_marginTop="120dp"
        android:layout_centerHorizontal="true"/>

    <EditText
        android:id="@+id/txtUsername"
        android:hint="Username"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/imgIcon"
        android:ems="10"
        android:inputType="text">

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/txtPassword"
        android:hint="@string/passwordHint"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/txtUsername"
        android:ems="10"
        android:inputType="textPassword">
    </EditText>

    <Button
        android:text="@string/loginButtonText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/txtPassword"
        />

</RelativeLayout>

我还希望登录按钮从它的上同级获得宽度,即密码字段。可能吗

  • 删除
    marginTop
    并将
    android:gravity=“center”
    添加到您的
    relativeLayout
  • android:layout\u alignLeft=“@+id/txtPassword”
    android:layout\u alignRight=“@+id/txtPassword”
    添加到您的按钮中
  • 希望这将帮助您:)

    使用此代码

    我已经检查了它,如图所示

    XML代码:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".LoginActivity" 
        android:gravity="center"
        android:background="#d1d6df">
    
        <ImageView 
            android:id="@+id/imgIcon"
            android:src="@drawable/ic_launcher"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="Icon"
            android:layout_marginBottom="20dp"
    
            android:layout_centerHorizontal="true"/>
    
        <EditText
            android:id="@+id/txtUsername"
            android:hint="Username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/imgIcon"
            android:layout_centerVertical="true"
            android:ems="10"
            android:inputType="text">
    
            <requestFocus />
        </EditText>
    
        <EditText
            android:id="@+id/txtPassword"
            android:hint="passwordHint"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/txtUsername"
            android:ems="10"
            android:inputType="textPassword">
        </EditText>
    
        <Button
            android:text="@string/loginButtonText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/txtPassword"
            android:layout_alignLeft="@+id/txtPassword" 
            android:layout_alignRight="@+id/txtPassword"
            />
    
    </RelativeLayout>
    
    
    
    Wow。。如此迅速而完美的回答。。我很感激。。Thanks@AdilMalik那么我建议你接受这个答案:p谢谢我感谢你的帮助。CFlex在你之前发布了第二条消息。我只能给你1+:-)谢谢你的帮助