Reputation: 1371
We added a android.support.design.widget.CoordinatorLayout
to the XML file for the Activity that is using a Snackbar. All the Gradle information is correct and the two other corresponding imports are imported minSdk is 19 Support Design is v25.3.1 My question is why is this import happening and have I omitted some setting somewhere?
The original XML code file has a Relative Layout plus other items and the XML for the CoordinatorLayout widget
code for snackbar
public void showSnackbar(){
//coordinatorLayout = findViewById(snackbarView);
//Snackbar snackbar = null;
final Snackbar snackbar = Snackbar
.make(findViewById(snackbarView), getText(R.string.snackbar_text),1);
snackbar.setActionTextColor(Color.RED);
snackbar.setAction("EXIT", new View.OnClickListener(){
@Override
public void onClick(View view) {
//Intent intent = new Intent(DetailsActivity.this, MainActivity.class);
//startActivity(intent);
snackbar.dismiss();
}
});
TextView snackbarActionTextView = (TextView) snackbar.getView().findViewById( android.support.design.R.id.snackbar_action );
snackbarActionTextView.setTextSize( 30 );
snackbarActionTextView.setTypeface(snackbarActionTextView.getTypeface(), Typeface.BOLD);
TextView snackbarTextView = (TextView) snackbar.getView().findViewById(android.support.design.R.id.snackbar_text);
snackbarTextView.setTextSize( 30 );
snackbarTextView.setMaxLines( 3 );
snackbarTextView.setTextColor(Color.YELLOW);
snackbar.setDuration(Snackbar.LENGTH_INDEFINITE);
snackbar.show();
}
here is my import
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
Upvotes: 0
Views: 229
Reputation: 3235
James_Duh here is some code that will create a plain Snackbar no Action button and the other method creates a Snackbar with the Action button enjoy Not sure about the import?
public void onPLAIN(View view){
noActLayout = (CoordinatorLayout)findViewById(R.id.USE_ME_TWICE);
sbNoAct = Snackbar.make(noActLayout,R.string.real_csb_noaction_text,1);// any interger will make it happy
sbNoAct.setDuration(4000);// 4 sec // OR Snackbar.LENGTH_LONG matters NOT you are setting duration here
View sbView = sbNoAct.getView();
sbView.setBackgroundColor(ContextCompat.getColor(this, R.color.color_lightBlue));
TextView textViewNoAct = sbView.findViewById(android.support.design.R.id.snackbar_text);
//set text color
textViewNoAct.setTextColor(ContextCompat.getColor(this,R.color.color_White));
textViewNoAct.setMaxLines(10);
textViewNoAct.setTextSize(18);
//increase max lines of text in snackbar. default is 2.
sbNoAct.show();
}
public void onWithAct(View view){
myLayout = (CoordinatorLayout) findViewById(R.id.USE_ME_TWICE);
sb = Snackbar.make(myLayout, R.string.real_csb_text, Snackbar.LENGTH_INDEFINITE)
.setAction(R.string.real_csb_action, myOnClickListener)
.setActionTextColor(ContextCompat.getColor(context, R.color.color_Red));
View sbView = sb.getView();
sbView.setBackgroundColor(ContextCompat.getColor(this, R.color.color_White));
TextView textView = sbView.findViewById(android.support.design.R.id.snackbar_text);
//set text color
textView.setTextColor(ContextCompat.getColor(this,R.color.color_deepBlue));
textView.setTextSize(18);
//increase max lines of text in snackbar. default is 2.
textView.setMaxLines(10);
// NOTE new View
TextView textAction = sbView.findViewById(android.support.design.R.id.snackbar_action);
//set Action text color
textAction.setTextColor(ContextCompat.getColor(this,R.color.color_Red));
textAction.setTextSize(18);
sb.show();
}
View.OnClickListener myOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
//sb.dismiss();
System.out.println("=== I WAS DISMISSED OR SENT TO MainActivity===");
// OR use and Intent to go somewhere have a nice trip
Intent intent = new Intent(PageThreeActivity.this, MainActivity.class);
startActivity(intent);
}
};
}
Upvotes: 1