如何在相对布局中使用 Snackbar 而不是 Toasts?
How to use Snackbar in a relative layout instead of Toasts?
我正在尝试在相对布局中使用 Snackbar 而不是 Toasts 来显示错误(如果输入字段为空)。但是我无法添加小吃店来代替吐司。
下面是我的 Toasts 代码 -
if (abc_value.equals("") || def_value.equals("") || ghi_value.equals("")) {
Toast.makeText(getApplicationContext(), "Please enter all fields", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent(getApplicationContext(), next.class);
如果 3 个字段中的任何一个为空,它将显示字符串消息,否则它将导航到下一个 activity。
编辑 -
第一次尝试:
Snackbar.make(getActivity().getWindow().getDecorView().getRootView(), "Test", Snackbar.LENGTH_LONG).show();
这不是因为它不接受根视图 - 我觉得这是最接近的。
Snackbar.make(findViewById(Ids), "Test", Snackbar.LENGTH_LONG)
.setAction("Undo", mOnClickListener)
.setActionTextColor(Color.RED)
.show();
尝试使用 ID 但不接受。
Snackbar snackbar = Snackbar
.make(coordinatorLayout, "Welcome to AndroidHive", Snackbar.LENGTH_LONG);
snackbar.show();
不能使用它,因为我没有使用 coordinatorLayout。
试试这个:
if (abc_value.equals("") || def_value.equals("") || ghi_value.equals("")) {
Snackbar snackbar = Snackbar.make(yourMainLayout,
"Please enter all fields!", Snackbar. LENGTH_SHORT);
// Changing action button text color
View sbView = snackbar.getView();
TextView textView = (TextView)
sbView.findViewById(android.support.design.R.id.snackbar_text);
textView.setTextColor(Color.YELLOW);
snackbar.show();
}
else {
Intent intent = new Intent(getApplicationContext(), next.class);
}
在里面试试这个 if
Snackbar snackbar = Snackbar.make(rootLayout, "your error", Snackbar.LENGTH_LONG);
snackbar.show();
Snackbar snackbar = Snackbar
.make("id of root layout", "content of displayed message", Snackbar.LENGTH_LONG);
snackbar.show();
我正在尝试在相对布局中使用 Snackbar 而不是 Toasts 来显示错误(如果输入字段为空)。但是我无法添加小吃店来代替吐司。
下面是我的 Toasts 代码 -
if (abc_value.equals("") || def_value.equals("") || ghi_value.equals("")) {
Toast.makeText(getApplicationContext(), "Please enter all fields", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent(getApplicationContext(), next.class);
如果 3 个字段中的任何一个为空,它将显示字符串消息,否则它将导航到下一个 activity。
编辑 -
第一次尝试:
Snackbar.make(getActivity().getWindow().getDecorView().getRootView(), "Test", Snackbar.LENGTH_LONG).show();
这不是因为它不接受根视图 - 我觉得这是最接近的。
Snackbar.make(findViewById(Ids), "Test", Snackbar.LENGTH_LONG) .setAction("Undo", mOnClickListener) .setActionTextColor(Color.RED) .show();
尝试使用 ID 但不接受。
Snackbar snackbar = Snackbar .make(coordinatorLayout, "Welcome to AndroidHive", Snackbar.LENGTH_LONG); snackbar.show();
不能使用它,因为我没有使用 coordinatorLayout。
试试这个:
if (abc_value.equals("") || def_value.equals("") || ghi_value.equals("")) {
Snackbar snackbar = Snackbar.make(yourMainLayout,
"Please enter all fields!", Snackbar. LENGTH_SHORT);
// Changing action button text color
View sbView = snackbar.getView();
TextView textView = (TextView)
sbView.findViewById(android.support.design.R.id.snackbar_text);
textView.setTextColor(Color.YELLOW);
snackbar.show();
}
else {
Intent intent = new Intent(getApplicationContext(), next.class);
}
在里面试试这个 if
Snackbar snackbar = Snackbar.make(rootLayout, "your error", Snackbar.LENGTH_LONG);
snackbar.show();
Snackbar snackbar = Snackbar
.make("id of root layout", "content of displayed message", Snackbar.LENGTH_LONG);
snackbar.show();