通过线性布局实现一个简单的微信登录界面
下面是运行效果图
在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" 分配分配权重值