登陆界面
写登录界面之前我们要知道登陆界面都有什么,首先要有用户名和密码,还要有一个确认登陆的按钮;
所以,第一步先把大体的框架写出来:
- 输入用户名的组件名称为EditText
- 确认登陆的组件为一个按钮
- 代码为
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/et1"
android:layout_width="match_parent"//组件宽度匹配父类
android:layout_height="wrap_content"//组件高度根据输入的内容来确定
android:layout_marginTop="25dp"//组件距离界面的上方25dp
android:layout_marginLeft="15dp"//组件距离界面的左边15dp
android:layout_marginRight="15dp"//组件距离界面的右边15dp
android:hint="用户名" //组件上添加隐藏的提示,就是输入后会自动消失的
android:paddingLeft="15dp"/>//“用户名”距离组件的左边15dp,不设置的话用户名是紧贴组件左边的
<EditText
android:id="@+id/et2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:hint="密码"
android:paddingLeft="15dp"
android:inputType="textPassword"/>//将输入的密码设置为暗文,就是你输入你的密码,在界面上显示的是一个个点。
<Button
android:id="@+id/bu1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:text="确认" />
</LinearLayout>
-
通过以上代码显示出来的效果为
-
我们还可以设置很多比如将EditText的框显示出来还有按钮的按压效果等
-
这里就实现一个按钮的按压效果
要实现一个按压效果,只需要在res-drawable中建立一个xml文件,然后在按钮组件中调用即可。 -
代码如下
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"> //按下按钮之后的效果
<shape>
<solid android:color="#9A2EFE"/>//被按下后按钮的填充颜色(紫色)
<corners android:radius="10dp"/>//按钮框的圆角
</shape>
</item>
<item android:state_pressed="false"> //没有按按钮的效果
<shape>
<solid android:color="#00FF80"/>//没有被按的填充颜色(绿色)可以随便设置,百度搜一个取色器
<corners android:radius="10dp"/>//圆角
</shape>
</item>
</selector>
//要想调用,就在按钮组件里加一个background就行
/*
<Button
android:id="@+id/bu1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:text="确认"
android:background="@drawable/pres"/>
*/
以上就是界面的代码;
接下来可以设置用户名和对应的密码了;
- 需要两个界面,登陆成功后,显示“欢迎来到德莱联盟”
- 所以在java - com.example+工程名下在建立一个空文件;
- 其界面为
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main2Activity">
<TextView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="欢迎来到德莱联盟"/>
</LinearLayout>
写控制代码:
- 先声明三个组件
private EditText et1;
private EditText et2;
private Button button;
- 通过id找到这三个组件
button = findViewById(R.id.bu1);
et1 = findViewById(R.id.et1);
et2 = findViewById(R.id.et2);
- 给按钮添加监听
button.setOnClickListener(new View.OnClickListener()
- 在其中设置用户名和密码
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String s1 = et1.getText().toString();
String s2 = et2.getText().toString();
if(s1.equals("2663114771") && s2.equals("gzh4869111")){
Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_SHORT).show();//会在界面下方出现一个灰色的登陆成功的提示
Intent intent = new Intent(MainActivity.this,Main2Activity.class);//跳转界面,如果输入正确则跳转到Main2Activity
startActivity(intent);
}else{
Toast.makeText(MainActivity.this,"登陆失败",Toast.LENGTH_SHORT).show();
}
}
});
效果: