我如何为整个小吃店布局设置动作,而不仅仅是为文本设置动作?
How can i set action for whole snackbar layout not just for a text?
我的应用程序中有一个小吃店,我想在整个布局上设置操作或设置点击侦听器,但我搜索了几天但没有找到任何答案。
我的设置动作小吃店代码是:
snackbar = Snackbar.make(coordinatorLayout, "", Snackbar.LENGTH_LONG).setAction("qqqqq", new View.OnClickListener() {
@Override
public void onClick(View v) {
RestaurantDetails.this.startActivity(new Intent(RestaurantDetails.this, BuyBasket.class));
Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout) snackbar.getView();
TextView textView = (TextView) layout.findViewById(android.support.design.R.id.snackbar_text);
textView.setVisibility(View.INVISIBLE);
ImageView imageView = snackview.findViewById(R.id.buybasket);
layout.setPadding(0, 0, 0, 0);
layout.addView(snackview, 0);
}
});
当用户按下 qqqq 文本时,此设置操作才起作用,我想在用户按下整个小吃栏布局而不仅仅是文本 qqqq 时起作用。
你可以使用-
Snackbar snackbar = Snackbar.make(coordinatorLayout, "No internet connection!", Snackbar.LENGTH_LONG);
View sbView = snackbar.getView();
sbView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
snackbar.show();
我的应用程序中有一个小吃店,我想在整个布局上设置操作或设置点击侦听器,但我搜索了几天但没有找到任何答案。 我的设置动作小吃店代码是:
snackbar = Snackbar.make(coordinatorLayout, "", Snackbar.LENGTH_LONG).setAction("qqqqq", new View.OnClickListener() {
@Override
public void onClick(View v) {
RestaurantDetails.this.startActivity(new Intent(RestaurantDetails.this, BuyBasket.class));
Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout) snackbar.getView();
TextView textView = (TextView) layout.findViewById(android.support.design.R.id.snackbar_text);
textView.setVisibility(View.INVISIBLE);
ImageView imageView = snackview.findViewById(R.id.buybasket);
layout.setPadding(0, 0, 0, 0);
layout.addView(snackview, 0);
}
});
当用户按下 qqqq 文本时,此设置操作才起作用,我想在用户按下整个小吃栏布局而不仅仅是文本 qqqq 时起作用。
你可以使用-
Snackbar snackbar = Snackbar.make(coordinatorLayout, "No internet connection!", Snackbar.LENGTH_LONG);
View sbView = snackbar.getView();
sbView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
snackbar.show();