【问题标题】:How to change the background of the undo button in the snack bar如何更改小吃店撤消按钮的背景
【发布时间】: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


    【解决方案1】:

    这样试试

    final Snackbar snackbar = Snackbar.make(viewHolder.itemView.getRootView(),"Deleted", LENGTH_LONG).setAction(R.string.SnackUndo, new Remove_job_recycle_adapter.UndoListener(position)).setActionTextColor(Color.GREEN);
    
    snackbar.show();
    

    【讨论】:

      【解决方案2】:

      只需从包含undo 操作的视图中移除背景,或将其设置为透明,如下所示:

      textView.setBackgroundColor(Color.TRANSPARENT);
      

      【讨论】:

        猜你喜欢
        • 2016-03-05
        • 2022-11-06
        • 2021-06-29
        • 2020-07-05
        • 2019-04-01
        • 2017-04-07
        • 2016-09-22
        • 2020-08-02
        • 2022-07-07
        相关资源
        最近更新 更多