如何防止 Snackbar 关闭?
How to prevent Snackbar from closing?
我正在使用来自第 3 方库的名为 Snackbar 的控件 - github.com/navasmdc/MaterialDesignLibrary.
问题是它正在自动关闭,就像吐司一样。
我正在尝试做的事情: 它应该一直保持到我点击 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()
编辑-自-新ANDROID文档
如何防止 android 小吃店关闭
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 Support Design library 的一部分。如果你想无限期地显示它,你可以使用 LENGTH_INDEFINITE
作为持续时间。 .您应该删除您正在使用的第三方库。例如
Snackbar.make(layout, R.string.snackBarNoNetConnectivity, Snackbar.LENGTH_INDEFINITE)
.show()
旧答案
你必须在调用 show()
之前先调用 .setIndeterminate(true)
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.setDuration(Snackbar.LENGTH_INDEFINITE);
简单做
Snackbar.make(layout, "Some text", Snackbar.LENGTH_INDEFINITE)
.show();
我正在使用来自第 3 方库的名为 Snackbar 的控件 - github.com/navasmdc/MaterialDesignLibrary.
问题是它正在自动关闭,就像吐司一样。
我正在尝试做的事情: 它应该一直保持到我点击 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()
编辑-自-新ANDROID文档
如何防止 android 小吃店关闭
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 Support Design library 的一部分。如果你想无限期地显示它,你可以使用 LENGTH_INDEFINITE
作为持续时间。 .您应该删除您正在使用的第三方库。例如
Snackbar.make(layout, R.string.snackBarNoNetConnectivity, Snackbar.LENGTH_INDEFINITE)
.show()
旧答案
你必须在调用 show()
.setIndeterminate(true)
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.setDuration(Snackbar.LENGTH_INDEFINITE);
简单做
Snackbar.make(layout, "Some text", Snackbar.LENGTH_INDEFINITE)
.show();