用 Snackbar 内部替换 Toast Class
Replace Toast with Snackbar inner Class
我们想在下面的代码中用 Snackbar 替换这个 Toast
我尝试了各种配置,结果接近但没有奖品
我的最佳配置不会在 make Snackbar
中接受 LENGTH_SHORT
有人可以解释一下 Snackbar 代码的放置位置以及为什么 LENGTH_SHORT
没有被接受吗?
private void addListenerOnButton_ADD() {
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(ETinput.getText().length()==0){
Toast.makeText(MainActivity.this,"Enter a Value",Toast.LENGTH_SHORT).show();
// REMOVE THIS Toast and insert Snackbar
//======================================
return;
}
......
}
});
}
这是编辑
private void addListenerOnButton_ADD(final AlteredCharSequence Snackbar) {
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(ETinput.getText().length()==0){
Toast.makeText(MainActivity.this,"Enter a Value",Toast.LENGTH_SHORT).show();
// REMOVE THIS Toast and insert Snackbar
//======================================
Snackbar.make(findViewById(android.R.id.content), "Had a snack at Snackbar", Snackbar.LENGTH_LONG)
.setActionTextColor( Color.RED)
.show();
return;
}
int Y = Integer.valueOf(ETinput.getText().toString().trim());
int Z = Y + X;
ETans.setText(String.valueOf(Z));
//float Y = Float.valueOf(ETinput.getText().toString().trim());
//float Z = Y + X;
//ETans.setText(String.valueOf(Z));
}
});
}
使用这个
Snackbar snackbar;
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
snackbar = Snackbar.make(view, "Enter a Value", Snackbar.LENGTH_LONG);
if(ETinput.getText().length()==0){
snackbar.show();
return;
}
......
}
});
}
如果你想要无限期的持续时间,可以使用 Snackbar.LENGTH_INDEFINITE
,当你想关闭时,只需使用 snackbar.dismiss();
使用setOnClickListener
中的view
作为Snackbar.make
方法的第一个参数:
private void addListenerOnButton_ADD(final AlteredCharSequence Snackbar) {
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(ETinput.getText().length()==0){
Snackbar.make(view, "Enter a Value", Snackbar.LENGTH_SHORT).setAction("Action", null).show();
return;
}
int Y = Integer.valueOf(ETinput.getText().toString().trim());
int Z = Y + X;
ETans.setText(String.valueOf(Z));
//float Y = Float.valueOf(ETinput.getText().toString().trim());
//float Z = Y + X;
//ETans.setText(String.valueOf(Z));
}
});
}
我们想在下面的代码中用 Snackbar 替换这个 Toast 我尝试了各种配置,结果接近但没有奖品 我的最佳配置不会在 make Snackbar
中接受LENGTH_SHORT
有人可以解释一下 Snackbar 代码的放置位置以及为什么 LENGTH_SHORT
没有被接受吗?
private void addListenerOnButton_ADD() {
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(ETinput.getText().length()==0){
Toast.makeText(MainActivity.this,"Enter a Value",Toast.LENGTH_SHORT).show();
// REMOVE THIS Toast and insert Snackbar
//======================================
return;
}
......
}
});
}
这是编辑
private void addListenerOnButton_ADD(final AlteredCharSequence Snackbar) {
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(ETinput.getText().length()==0){
Toast.makeText(MainActivity.this,"Enter a Value",Toast.LENGTH_SHORT).show();
// REMOVE THIS Toast and insert Snackbar
//======================================
Snackbar.make(findViewById(android.R.id.content), "Had a snack at Snackbar", Snackbar.LENGTH_LONG)
.setActionTextColor( Color.RED)
.show();
return;
}
int Y = Integer.valueOf(ETinput.getText().toString().trim());
int Z = Y + X;
ETans.setText(String.valueOf(Z));
//float Y = Float.valueOf(ETinput.getText().toString().trim());
//float Z = Y + X;
//ETans.setText(String.valueOf(Z));
}
});
}
使用这个
Snackbar snackbar;
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
snackbar = Snackbar.make(view, "Enter a Value", Snackbar.LENGTH_LONG);
if(ETinput.getText().length()==0){
snackbar.show();
return;
}
......
}
});
}
如果你想要无限期的持续时间,可以使用 Snackbar.LENGTH_INDEFINITE
,当你想关闭时,只需使用 snackbar.dismiss();
使用setOnClickListener
中的view
作为Snackbar.make
方法的第一个参数:
private void addListenerOnButton_ADD(final AlteredCharSequence Snackbar) {
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(ETinput.getText().length()==0){
Snackbar.make(view, "Enter a Value", Snackbar.LENGTH_SHORT).setAction("Action", null).show();
return;
}
int Y = Integer.valueOf(ETinput.getText().toString().trim());
int Z = Y + X;
ETans.setText(String.valueOf(Z));
//float Y = Float.valueOf(ETinput.getText().toString().trim());
//float Z = Y + X;
//ETans.setText(String.valueOf(Z));
}
});
}