如何防止Snackbar关闭? [英] How to prevent Snackbar from closing?
问题描述
我正在使用第三方库-github.com/navasmdc/MaterialDesignLibrary中的一个名为Snackbar的控件.
I'm using a control, called Snackbar, from a 3rd party library - github.com/navasmdc/MaterialDesignLibrary.
问题在于它会自动关闭,就像吐司一样.
The problem is that it is closing automatically, like a Toast.
我要做什么:它应该一直保持到我单击btn
What i am trying to do: It should stay until i click btn
new SnackBar(ActSplash.this,
"Do you want change color of this button to red?",
"yes",
new View.OnClickListener() {
@Override
public void onClick(View v) {
ButtonFlat btn = (ButtonFlat) findViewById(R.id.buttonSnackBar);
//btn.setTextColor(Color.RED);
}
}).show();
new SnackBar(ActSplash.this,
"Do you want change color of this button to red?",
"yes", new View.OnClickListener() {
@Override
public void onClick(View v) {
ButtonFlat btn = (ButtonFlat) findViewById(R.id.buttonSnackBar);
//btn.setTextColor(Color.RED);
}
}).setIndeterminate(true)
.show();
这表明无法解决show()
This shows a error cannot resolve show()
如何防止android快餐栏关闭
How to prevent android snackbar from closing
Snackbar
.make(((ActMedicalRecordDetailNew)getActivity()).getMainContent(), R.string.snackBarNoNetConnectivity, Snackbar.LENGTH_LONG)
.setAction(R.string.snackBarTryAgain, new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = getActivity().getIntent();
getActivity().finish();
startActivity(intent);
}
})
.show();
推荐答案
编辑:
Snackbar
现在是新 Android支持设计库.如果您想无限显示它,可以使用LENGTH_INDEFINITE
作为持续时间. .您应该删除正在使用的第三方库.例如
Snackbar
is now part of the new Android Support Design library. you can use LENGTH_INDEFINITE
as duration if you want to show it indefinitely. . You should drop the third party library you are using for it. Eg.
Snackbar.make(layout, R.string.snackBarNoNetConnectivity, Snackbar.LENGTH_INDEFINITE)
.show()
旧答案
Old answer
您必须先致电.setIndeterminate(true)
,然后再致电show()
you have to call .setIndeterminate(true)
before calling show()
final SnackBar tmp = new SnackBar(ActSplash.this,
"Do you want change color of this button to red?",
"yes",
new View.OnClickListener() {
@Override
public void onClick(View v) {
ButtonFlat btn = (ButtonFlat) findViewById(R.id.buttonSnackBar);
//btn.setTextColor(Color.RED);
}
});
tmp.setIndeterminate(true);
tmp.show();
这篇关于如何防止Snackbar关闭?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!