一、as布局
布局文件 layout
drawable 设置背景的文件
新建drawable-xhdpi文件 — 放一些item或图片
values:
theme app风格,string 字符串(相当于宏定义,可以引用),colors颜色配置(可以引用)
AndroidManifest.xml:启动文件,这个板块在哪个activity里,哪个就是启动文件
比如现在是Mainactivity,那启动后第一个界面就是mainactivity
build.gradle需要一些包的时候可以在这里引用
gradle.properties:用真机调试的话在这里需要添加声明
二、linearlayout和relativelayout
linearlayout:线性布局
match_parent:和父布局一样显示
wrap_content:有多高显示多高
relativelayout:相对布局
一定要新增orientation(排列方式)
vertical:竖直排列
horizontal:水平排列
性质:
padding:与周围有多大距离(上下左右)
paddingLeft:与左边有多大距离(某个固定方向,单位dp)
background:背景图片,可以引用背景文件夹的文件
relativelayout:相对布局
不需要orientation,但是需要设置layout
layout_below = “目标”:设置与目标的相对位置为在目标下方
(通过改变below改变与目标的位置)
建议使用linearlayout
三、textview、bottom、edittext基本控件
制作一个简易登录界面
textview:放文字的地方
text:文字
textColor:文字颜色
textSize:文字大小(单位sp)
maxEms:每行显示的字符个数(数字)
maxLines:固定行数(数字)
ellipsize:剩余部分用省略号表示的方式
layout_marginxxx:与另一部分的距离
edittext:输入的地方
inputType:输入的类型
边框设计
在drawable中先创建一个xml
bottom设计
bottom跳转
方法1:直接跳转
package com.example.demo3;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity {
//声明控件
private Button mBtnlogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
//找到控件(相要给哪个btn实施功能)
mBtnlogin = findViewById(R.id.btn_login);
//实现直接跳转----方法1
mBtnlogin.setOnClickListener(view -> {
Intent intent = new Intent(MainActivity.this, FunctionActivity.class);
MainActivity.this.startActivity(intent);
});
}
}
方法2:匹配固定账号密码跳转
package com.example.demo3;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
//声明控件
private Button mBtnlogin;
private EditText mEtUser;
private EditText mEtPassward;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
//找到控件(相要给哪个btn实施功能)
mBtnlogin = findViewById(R.id.btn_login);
mEtUser = findViewById(R.id.et_1);
mEtPassward = findViewById(R.id.et_2);
mBtnlogin.setOnClickListener(this);
}
public void onClick(View v)
{
//需要获取输入的用户名和密码
String username = mEtUser.getText().toString();
String passward = mEtPassward.getText().toString();
Intent intent = null;
//假设正确的账号密码分别是qjj,123456
if (username.equals("qjj") && passward.equals("123456"))
{
//如果正确进行跳转
intent = new Intent(MainActivity.this, FunctionActivity.class);
startActivity(intent);
}else
{
//如果不正确,谈出登录失败
}
}
@Override
public void onPointerCaptureChanged(boolean hasCapture) {
super.onPointerCaptureChanged(hasCapture);
}
}
优化之Toast
1、底部弹出
//toast普通版 //Toast.makeText(getApplicationContext(), ok,Toast.LENGTH_SHORT).show();
2、居中弹出
//提升版,居中显示 Toast toastCenter = Toast.makeText(getApplicationContext(), fail,Toast.LENGTH_SHORT); toastCenter.setGravity(Gravity.CENTER,0,0); toastCenter.show();
3、封装好的类
package com.example.demo3.util;
import android.content.Context;
import android.widget.Toast;
public class ToastUtil {
public static Toast mToast;
public static void showMsg(Context context, String msg) {
if (mToast == null) {
mToast = Toast.makeText(context, msg, Toast.LENGTH_SHORT);
} else
{
mToast.setText(msg);
}
mToast.show();
}
}