前言
第二次培训主要讲了滚动视图和DataStore,但是看不懂的话直接抄一遍也没啥意思,姑且是抄了这两个内容自己找了点方法优化了一下其他的方面。
学习途径
- CSDN
- 培训示范代码
学习内容
页面停留
private final int SPLASH_DISPLAY_LENGTH = 2000;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
MainActivity.this.startActivity(intent);
MainActivity.this.finish();
}
},SPLASH_DISPLAY_LENGTH);
以毫秒为计时单位停留后跳转,用于欢迎界面
隐藏标题栏
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_main);
getSupportActionBar().hide();一行代码就能搞定,位置要在content前
检查输入格式
Pattern pattern = Pattern.compile("[A-Za-z0-9]*");
Matcher matcher1 = pattern.matcher(un);
boolean flag = matcher1.matches()
设置格式,后面跟正则表达式,虽然看起来麻烦但是检查输入账号密码格式的话这样就行,长度用个if足够了
匹配则flag为true
Recyclerview
没啥好说的,只会抄,但是抄了四次就一次没有在RecyclerView.Adapter处标红,不清楚什么原因
其他倒没什么问题
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
public class TodoAdapter extends RecyclerView.Adapter<TodoAdapter.TodoViewHolder> {
static class TodoViewHolder extends RecyclerView.ViewHolder{
private final TextView todotextview = itemView.findViewById(R.id.todo_item);
public TodoViewHolder(@NonNull View itemView){
super(itemView);
}
public void bind(String word){
todotextview.setText(word);
}
}
private final String[] todoList;
public TodoAdapter(String[] todoList){
this.todoList = todoList;
}
@NonNull
@Override
public TodoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType){
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.todo_item, parent , false);
return new TodoViewHolder(view);
}
@Override
public int getItemCount(){
return todoList.length;
}
@Override
public void onBindViewHolder(@NonNull TodoViewHolder holder, int position){
holder.bind(todoList[position]);
}
}
DataStore
姑且是抄了,但是用在自动登录方面的话大概需要在登录界面接收一组值存储,先鸽了
FAB
不清楚为啥叫这个名字,不知道和button有啥区别,但是在滚动布局高为match_parent的时候显示不出来,想要浮在滚动布局之上就得用到FrameLayout框架布局,逻辑和按钮几乎一样。
总结
一开始试图用AS自带的抽屉布局来完成滚动视图,但是发现总是有莫名奇妙的报错,后来还是放弃了。
移动真劝退,摆烂了