众所周知,我们可以将action
文本设置为snackbar
。但是,我想制作整个小吃栏clickable
。
对于我试图做view
的snackbar
点击,但它是徒劳的。谁能帮我解决这个问题?
码:
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] 删除。
我来说两句