1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

ToggleButton Hintergrund ändern in Java

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Sanguinus, 03.04.2012.

  1. Sanguinus, 03.04.2012 #1
    Sanguinus

    Sanguinus Threadstarter Neuer Benutzer

    Beiträge:
    12
    Erhaltene Danke:
    0
    Registriert seit:
    05.10.2011
    Hi,

    ich schäme mich eigentlich für diese Frage, aber ich habe ein Problem mit dem ändern des Hintergrundbildes eines ToggleButtons.

    Wenn ich den ToggleButton direkt in einer XML-Datei baue (was aber leider in meinem Zusammenhang nicht möglich ist), klappt alles wunderbar. Versuche ich dann jedoch den ToggleButton direkt in Java zu coden, habe ich im Prinzip den Standard-Hintergrund immer noch "unsichtbar" hinter dem neuen Hintergrund, zudem ist es auch nicht möglich irgendwelchen Text auf dem ToggleButton anzuzueigen, wenn der Hintergrund geändert ist. Im Prinzip ist die Höhe des ToggleButtons nach dem Ändern des Hintergrunds genau so hoch, wie wenn ich den Hintergrund nicht ändere, er müsste aber eigentlich weniger hoch sein.

    Hier ist der ToggleButton in XML:
    Code:
    <ToggleButton
            android:id="@+id/main_button"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="1dp"
            android:background="@android:color/transparent"
            android:disabledAlpha="1"
            android:drawableLeft="@drawable/togglebutton_expander"
            android:gravity="center"
            android:textColor="@android:color/darker_gray" />
    
    Und hier eine eigentlich identische Konfiguration in Java:
    Code:
    button.setBackgroundResource(android.R.color.transparent);
    button.setTextColor(android.R.color.darker_gray);
    setCompoundDrawablesWithIntrinsicBounds(R.drawable.togglebutton_expander, 0, 0, 0);
    button.setChecked(true);
    setTitle();
    
    Ich freue mich über jede Hilfe, bin mittlerweile leider ratlos :mellow:


    Sanguinus

    Edit: ich habe mal zwei Screenshots hochgeladen. Der erste zeigt den ToggleButton in Java-, der zweite in XML-Ausführung. Der ToggleButton ist jeweils das oberste Element, das nächste Element liegt direkt darunter.
     

    Anhänge:

    Zuletzt bearbeitet: 03.04.2012
  2. Tom299, 03.04.2012 #2
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Wo setzt du denn im Code Breite und Höhe? Oder kommt das über XML?
     
  3. Sanguinus, 03.04.2012 #3
    Sanguinus

    Sanguinus Threadstarter Neuer Benutzer

    Beiträge:
    12
    Erhaltene Danke:
    0
    Registriert seit:
    05.10.2011
    Oh, hab ich wohl vergessen zu kopieren
    Code:
    rootLayout.addView(button, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
    rootLayout ist ein ganz normales LinearLayout, das sich über den gesamten Bildschirm erstreckt.
     

Diese Seite empfehlen