设计效果如下:
一个简单的登录界面设计:
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/bg"
android:gravity="center_horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sing up"
android:layout_marginTop="40dp"
android:textColor="#fff"
android:textSize="40sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_margin="20dp"
android:textColor="#fff"
android:textSize="20dp"
android:text="Helloword Helloword Helloword Helloword Helloword" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/add_photo"/>
<EditText
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="20dp"
android:gravity="center"
android:hint="userName and SurName"
android:textColorHint="#cccccc"
android:background="@mipmap/border" />
<EditText
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="20dp"
android:inputType="numberPassword"
android:hint="passWord"
android:gravity="center"
android:textColorHint="#cccccc"
android:background="@mipmap/border"/>
<Button
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="20dp"
android:text="点击注册"
android:background="@mipmap/btn"/>
<Button
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="20dp"
android:text="点击登录"
android:background="@mipmap/btn"/>
</LinearLayout>
其中总结几点使用效果:控件:
layout_gravitiy也可以用来设置字体的位置,也可以用来设置整体居中。看定义在哪个位置;
android:gravity="center_horizontal"
二、EditText设计
TextStyle 可以改变字体的样式,比如粗体啥的;
hint 用来做临时字体,当用户输入内容字体被隐藏。
maxLength 用来设置字节数。
android:hint=“userName and SurName”
android:textColorHint="#cccccc"
进行内容完善,进行登录界面的验证,给Button加上功能,从而进行较好的体验感
添加以下功能:
1.进行判断账号和密码是否为空,为空则提醒
2.添加进度条实现动态进度效果
不为空,进度条显示,进行动态加载
<ProgressBar
android:id="@+id/pgb_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:visibility="invisible"
android:layout_margin="10dp"/>
按钮直接加上点击效果:
android:onClick="register"
public void register(View v){
EditText userName = findViewById(R.id.username);
EditText pwd = findViewById(R.id.pwd);
final ProgressBar pbg = findViewById(R.id.pgb_login);
String un = userName.getText().toString();
String pd = pwd.getText().toString();
if(un.equals("") || pd.equals("")){
//进行无焦点提示
Toast.makeText(this,"账号和密码不能为空",Toast.LENGTH_SHORT).show();
}else{
pbg.setVisibility(View.VISIBLE);
new Thread()
{
public void run() {
for (int i = 0; i <= 100; i++) {
pbg.setProgress(i);
try {
Thread.sleep(30);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
}
}
为方法添加上点击效果,直接在Java中写上方法,如果为空则进行一句无焦点提示:
Toast.makeText(this,"账号和密码不能为空",Toast.LENGTH_SHORT).show();
使用线程,实现动态的进度条显示。值得注意的是,线程是不能直接用来调用控件的,而进度条是个特例,是可以在线程中直接调用。