通过线性布局实现一个简单的微信登录界面

下面是运行效果图

在xml添加如下代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:paddingBottom="16dp"
    android:paddingLeft="16dp"
    android:padding="16dp"
    android:paddingTop="16dp"
   android:orientation="vertical"
    tools:context=".MainActivity"
    android:paddingStart="16dp"
    tools:ignore="RtlSymmetry">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:hint="QQ号/微信号/Email"
        android:drawableLeft="@mipmap/zh"

        />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:hint="密码"
        android:drawableLeft="@mipmap/mm"

        />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录"
        android:textColor="#FFFFFF"
        android:background="#FF009688"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="登陆遇到问题?"
        android:layout_gravity="center_horizontal"
        android:paddingTop="20dp"/>

一、线性布局(LinearLayout)
线性布局:线性布局是我们在开发中最常见的布局方式之一,线性布局可以分为水平线性布局和垂直线性布局这两种布局方式

线性布局的属性(决定布局中元素的位置和布局):

android:layout_gravity ( 是本元素相对于父元素的对齐方式 )

android:gravity="bottom|right"(是本元素所有子元素的对齐方式,设置在父元素上,多个值用|隔开)

android:layout_gravity (子元素在父元素的对齐方式,设置在子元素上)

当 android:orientation="vertical"  时, 只有垂直方向的设置才起作用,水平方向的设置不起作用
当 android:orientation="horizontal" 时, 有水平方向的设置才起作用,垂直方向的设置不起作用。即:left(左),right(右),center_horizontal(水平居中) 是生效的。即:top(上),bottom(下),center_vertical (垂直居中)是生效的。

android:padding="10dp" (是本元素所有子元素的与父元素边缘的距离,设置在父元素上) 

android:layout_marginLeft="10dp"(子元素与父元素边缘的距离,设置在子元素上)

android:orientation (线性布局以列或行来显示内部子元素)

android:layout_weight ="1"  分配分配权重值

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐