如何使小吃栏可点击?

匿名

众所周知,我们可以将action文本设置snackbar。但是,我想制作整个小吃栏clickable

对于我试图做viewsnackbar点击,但它是徒劳的。谁能帮我解决这个问题?

码:

Snackbar snackbar=Snackbar.make(home_btn, content, Snackbar.LENGTH_LONG);
    View sbView = snackbar.getView();
    sbView.setClickable(true);
    sbView.setFocusable(true);
    sbView.setBackgroundColor(Color.parseColor("#ffffff"));
    TextView tv = sbView.findViewById(android.support.design.R.id.snackbar_text);
    tv.setTextColor(Color.parseColor("#001919"));
    CoordinatorLayout.LayoutParams params=(CoordinatorLayout.LayoutParams)sbView.getLayoutParams();
    params.gravity = Gravity.TOP;
    sbView.setLayoutParams(params);
    snackbar.show();

    sbView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent();
            i.setAction(action);

            i.putExtras(b);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
        }
    });
匿名

其实这是我忘了开始的错intent因此,最终答案将是

Snackbar snackbar=Snackbar.make(home_btn, content, Snackbar.LENGTH_LONG);
    View sbView = snackbar.getView();
    sbView.setClickable(true);
    sbView.setFocusable(true);
    sbView.setBackgroundColor(Color.parseColor("#ffffff"));
    TextView tv = sbView.findViewById(android.support.design.R.id.snackbar_text);
    tv.setTextColor(Color.parseColor("#001919"));
    CoordinatorLayout.LayoutParams params=(CoordinatorLayout.LayoutParams)sbView.getLayoutParams();
    params.gravity = Gravity.TOP;
    sbView.setLayoutParams(params);
    snackbar.show();

    sbView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent();
            i.setAction(action);
            i.putExtras(b);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
            startActivity(i);
        }
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章