<FrameLayout
android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF0097A7">
</FrameLayout>
2.我们在帧布局里面添加一个linearlayout来放子控件
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0097A7">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
</LinearLayout>
</FrameLayout>
3.我们在linearlayout里面放2个布局,按比例平分它的父控件
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0097A7">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"/>
<LinearLayout
android:orientation="vertical"
android:background="@drawable/Shape"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="7"/>
</LinearLayout>
</FrameLayout>
4.第二个linearlayout背景需要加上圆角,需要去drawable文件下创建Shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 填充的颜色 -->
<solid android:color="#FFFFFF" />
<corners
android:topLefTradius="40dp"
//左边顶上圆角40dp-----删除
android:topRighTradius="40dp"
//右边顶上圆角40dp-----删除
/>
</shape>
5.我们在第一个linearlayout里面添加2个文本框控件
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0097A7">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_marginLeft="25dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sgin up"
android:layout_marginLeft="25dp"
android:textSize="35sp"
android:textStyle="bold"
android:layout_marginTop="5dp"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="7"
android:background="@drawable/Shape"
android:gravity="center_horizontal">
<EditText
android:layout_width="match_parent"
android:ems="10"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:layout_marginTop="30dp"/>
</LinearLayout>
</LinearLayout>
</FrameLayout>
6.我们在第二个linearlayout里面添加2个编辑框一个按钮 一个文本框 一个隐藏的文本框
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:visibility="invisible"
android:id="@+id/activitymainLinearLayout1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="账号或密码错误"
android:id="@+id/activitymainTextView_0"/>
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@drawable/Shape_button"
android:id="@+id/activitymainButton1"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/activitymainLinearLayout2">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="没有账号?"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="去注册"
android:textColor="#FFAB40"
android:id="@+id/activitymainTextView9"/>
</LinearLayout>
跑起来了,编辑框有点不好看,我们给它来个外包装,先去buid里面添加一个库
compile 'com.wrapp.floatlabelededittext:library:0.0.6'
例如这样:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsversion "21.1.0"
defaultConfig {
applicationId "com.uigo.myui"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile filetree(dir: 'libs', include: ['*.jar'])
//编辑框第三方库
compile 'com.wrapp.floatlabelededittext:library:0.0.6'
}
接下来我们把编辑框包起来
<com.wrapp.floatlabelededittext.FloatLabeledEditText
android:layout_width="match_parent"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:layout_marginTop="30dp"
android:layout_height="wrap_content">
<EditText
android:lines="1"
android:digits="1234567890"
android:maxLength="17"
android:hint="请输入账号"
android:layout_width="match_parent"
android:ems="10"
android:layout_height="wrap_content"
android:id="@+id/et_account"/>
</com.wrapp.floatlabelededittext.FloatLabeledEditText>
<com.wrapp.floatlabelededittext.FloatLabeledEditText
android:layout_width="match_parent"
android:layout_marginTop="4dp"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:layout_height="wrap_content">
<EditText
android:lines="1"
android:maxLength="17"
android:hint="请输入密码"
android:digits="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
android:layout_width="match_parent"
android:inputType="textPassword"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/et_password"/>
</com.wrapp.floatlabelededittext.FloatLabeledEditText>
这个Button样式不太好看,我们给它创建一个背景把去drawable,创建shape_button.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 填充的颜色 -->
<solid android:color="#FF0097A7" />
<!-- android:radius 弧形的半径 -->
<!-- 设置按钮的四个角为弧形 -->
<corners
android:radius="30dp" />
</shape>
让我们康康整体代码吧
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0097A7">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_marginLeft="25dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sgin up"
android:layout_marginLeft="25dp"
android:textSize="35sp"
android:textStyle="bold"
android:layout_marginTop="5dp"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="7"
android:background="@drawable/Shape"
android:gravity="center_horizontal">
<com.wrapp.floatlabelededittext.FloatLabeledEditText
android:layout_width="match_parent"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:layout_marginTop="30dp"
android:layout_height="wrap_content">
<EditText
android:lines="1"
android:digits="1234567890"
android:maxLength="17"
android:hint="请输入账号"
android:layout_width="match_parent"
android:ems="10"
android:layout_height="wrap_content"
android:id="@+id/et_account"/>
</com.wrapp.floatlabelededittext.FloatLabeledEditText>
<com.wrapp.floatlabelededittext.FloatLabeledEditText
android:layout_width="match_parent"
android:layout_marginTop="4dp"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:layout_height="wrap_content">
<EditText
android:lines="1"
android:maxLength="17"
android:hint="请输入密码"
android:digits="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
android:layout_width="match_parent"
android:inputType="textPassword"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/et_password"/>
</com.wrapp.floatlabelededittext.FloatLabeledEditText>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:visibility="invisible"
android:id="@+id/activitymainLinearLayout1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="账号或密码错误"
android:id="@+id/activitymainTextView_0"/>
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@drawable/Shape_button"
android:id="@+id/activitymainButton1"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/activitymainLinearLayout2">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="没有账号?"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="去注册"
android:textColor="#FFAB40"
android:id="@+id/activitymainTextView9"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</FrameLayout>
</LinearLayout>
在康康效果图:
给控件加上id
Id可以随便设,但是不能重复
给文字加上下划线
去javaj绑定控件
package com.uigo.myui;
import android.app.Activity;
import android.graphics.Paint;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView t2;//这里有一个隐藏的提示控件
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t2=findViewById(R.id.activitymainTextView9);//前往注册账号绑定
//我们要把前往注册给加条下划线
t2.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//加上下划线---paint是画笔
t2.getPaint().setAntiAlias(true);//为这条线加上下划线
}
}
跑起来试试效果吧