【发布时间】:2020-06-16 20:10:36
【问题描述】:
我无法更改 SnackBar 的背景。它就像一个普通按钮,我只想要一个带有按钮功能的彩色 Undo 文本。我该如何实现?
SwipeToDelteCallBack.java
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
adapter.dismissjob(viewHolder.getAdapterPosition());
final Snackbar snackbar = Snackbar.make(viewHolder.itemView.getRootView(),"Deleted", LENGTH_LONG).setAction(R.string.SnackUndo, new Remove_job_recycle_adapter.UndoListener(position));
View snackbarview = snackbar.getView();
snackbar.setActionTextColor(Color.GREEN);
TextView snackbartextview = snackbarview.findViewById(R.id.snackbar_text);
snackbar.show();
Remove_job_Recycle_adapter.java
public static class UndoListener implements View.OnClickListener {
int pos;
public UndoListener(int pos){
this.pos = pos;
}
@SuppressLint({"ResourceAsColor", "Range"})
@Override
public void onClick(View v) {
remove_job_recycleList.add(pos, data);
SwipeToDeleteCallback.adapter.notifyDataSetChanged();
Snackbar snackbar1 = Snackbar.make(v,"Restored",Snackbar.LENGTH_SHORT);
View snackbar1View = snackbar1.getView();
TextView textView = snackbar1View.findViewById(R.id.snackbar_action);
textView.setTextColor(Color.GREEN);
snackbar1View.setBackgroundColor(R.color.green);
snackbar1.show();
【问题讨论】:
标签: android undo android-snackbar