我们在大部分页面都会配一个返回按钮。虽然实现起来非常简单,但是很多开发者不想动这个脑筋。这边给出通用的基础代码,可以直接复制粘贴使用。
<androidx.appcompat.widget.Toolbar
android:id="@+id/<>"
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:navigationIcon="@drawable/<>"
app:title="<>"/>
写<>的地方都是要自己填的
navigationIcon,在这里是一个返回图标。想省事的小伙伴可以之间使用android studio系统自带的图片。具体操作如下:
右键点击drawable,找到Vector Asset,点进去
点击clip art,进入系统里面选图片
选好之后大概是这样的。接下来把Name里的名字复制了。点击next完成图片创建。
把复制的name粘贴到navigationIcon那个空里去。这样就搞定了 。
事实上,返回按钮其实是一个点击时间,涉及了页面的跳转。我们继续:
private ActivityLoginBinding binding;
@Override
public void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
binding= ActivityLoginBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
binding.back.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
startActivity(new Intent(ThisActivity.this,TargetActivity.class));
}
});
}
ThisActivity.this和TargetActivity.class分别是所在的Activity和要跳转到的Activity。ActivityLoginBinding 是这个活动的binding对象,需要改动。不会用viewBinding的小伙伴可以看我另一篇文章,或者使用findViewById(),如下:
@Override
public void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.activity_login);
Button back=findViewById(R.id.back);
back.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
startActivity(new Intent(ThisActivity.this,TargetActivity.class));
}
});
}
这里的activity_login是这个活动的配置文件名。大家可以根据自己的进行改动。