SnackBar Action Button wird nicht an den unteren Rand gesetzt

SM-T110 UND GT-I9300

SM-T110 UND GT-I9300

Fortgeschrittenes Mitglied
17
Hallo. Ich habe ei Problem mit meiner SnackBar. Ich hab auf eimal das Problem, dass der ActionButton "Nicht mehr anzeigen" auf einmal direkt neben dem Text ist und nicht unter dem Text.

80f0bdc92290fa7642309932c3dbf2a2.jpg


Der Button mit dem Text soll eigentlich ganz unten sein und der Text soll die Ganze Breite der SnackBar ausnutzen können Hier mein Code

Code:
private void initListeners(){
	buttonSimpleSnackbar.setOnClickListener(new View.OnClickListener(){
	@Override
	public void onClick(View v){
		final Snackbar snackbar = Snackbar
		.make(coordinatorLayout, "HDHDJDFWICEIBEIBIIVEBICBCRCECEIBBIEC CWIECBIBF8hdhdhdhdhdhdjdjndjxxjxjjxxjjxjxjxjxjxnxnxnxnxnxnnxnxnxnxjxjxjxjdjdjdjdjdjdjdjdueueu2i2i8282827272272772722772727272727373747474747747474747474747r7r7rujddjjxjxjxjxnxnxjxjjxjjxjIF2 2FFDCIBXJVJRIBDBCDBCRICRIDJBDJJJBIVRCRICRIVRCRBNDIINRCNICNRNINICOBCNOCRIRICCRVRCJJRRJIFVRJCRBIRBJZE 2IF2HOFHO2HFO2FJO2", Snackbar.LENGTH_INDEFINITE)
		.setAction("Nicht mehr anzeigen", new View.OnClickListener(){
	@Override
	public void onClick(View view){
		final Snackbar snackbarUndo = Snackbar.make(coordinatorLayout, "Ist das nicht krass?", Snackbar.LENGTH_SHORT);
	    color1=Color.argb(255, new Random().nextInt(255), new Random().nextInt(255), new Random().nextInt(255));
		getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color1));
		
		if (Build.VERSION.SDK_INT >= 1){
			Window window = getWindow();
			window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
			window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
			window.setStatusBarColor(color1);
 
Moin,

ich habe mich mal kurz schlau gemacht. So wie es ausschaut, kann man im Allgemeinen das Layout einer Snackbar nicht verändern (The Snackbar does not allow you to set a custom layout). Der Text steht links und rechts ist der Button.
Man kann aber wohl den View der Snackbar irgendwie überschreiben, kann dir aber leider nicht sagen, wie das genau funktioniert. Da fehlt mir die Erfahrung. Vielleicht hast du ja noch Glück und ein erfahrenerer User schaut vorbei und kann dir das evtl näher erklären, wenn Bedarf besteht.

PS: Eine SnackBar oder ein Toast ist eher dafür gedacht, kurze Info-Meldungen für den User anzuzeigen. Für eine Usernachricht der Länge wie es oben dargestellt ist würde ich dir eher einen (Alert)Dialog empfehlen.
Dialogs | Android Developers
Da hast du auch einige Möglichkeiten, das Layout zu bearbeiten.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: swa00 und 123thomas
Ok danke für die Antwort jetzt habe ich wenigstens ein paar anhaltspunkte ich werde mal gucken wie man ein Custom Layout für die SnackBar anlegt
 
@SM-T110 UND GT-I9300
SM-T110 UND GT-I9300 schrieb:
ich werde mal gucken wie man ein Custom Layout für die SnackBar anlegt
lordzwieack schrieb:
(The Snackbar does not allow you to set a custom layout)
- Custom layouts are discouraged due to the intended use of Snackbars, they're essentially "interactive toasts" and shouldn't contain anything more than a message and an action.See the design guidelines for more information

- The Snackbar does not allow you to set a custom layout. However, you can get the Snackbar's View. The getView function returns the Snackbar.SnackbarLayout, which is a horizontal LinearLayout object whose children are a TextView and a Button. To add your own View to the Snackbar, you just need to hide the TextView, and add your View to the Snackbar.SnackbarLayout.
 
  • Danke
Reaktionen: swa00

Ähnliche Themen

A
  • AnimaAngelo85
Antworten
1
Aufrufe
345
swa00
swa00
MES
Antworten
10
Aufrufe
836
MES
MES
M
  • MikelKatzengreis
Antworten
10
Aufrufe
243
swa00
swa00
Zurück
Oben Unten