1. J4y, 30.08.2011 #1
    J4y

    J4y Threadstarter Neuer Benutzer

    Hallo alle miteinander,

    ich möchte eine ViewGroup dynamisch erstellen und versuche daher, das Layout direkt in Java zu erzeugen.
    Das ist momentan mein Code:
    Code:
    public class MyActivityextends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            LinearLayout layout = new LinearLayout(this);
            layout.setOrientation(LinearLayout.VERTICAL);
            layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
            
            
            TextView titleView = new TextView(this);
            titleView.setWidth(LayoutParams.WRAP_CONTENT);
            titleView.setHeight(LayoutParams.WRAP_CONTENT);
            titleView.setTextAppearance(this, android.R.attr.textAppearanceLarge);
            titleView.setText("Hallo Welt!");
            layout.addView(titleView);
           
            setContentView(layout);
    
        }
    }
    Wenn ich das so starte, wird allerdings der TextView nicht angzeigt.
    Der Bildschirm ist da und auf der Konsole werden keine Fehler geworfen.

    Weiß jemand Rat?
     
  2. Tom299, 01.09.2011 #2
    Tom299

    Tom299 Android-Experte

    Hmm, ich hab jetzt etwas rumprobiert, aber bei mir passiert auch nichts.

    Wenn man layout.addView(titleView, 120, 80) verwendet (also explizite
    größenangabe), funktioniert es. Aber wieso, ka ...
     
    J4y bedankt sich.
  3. J4y, 01.09.2011 #3
    J4y

    J4y Threadstarter Neuer Benutzer

    Hey,

    ich hab die Antwort mittlerweile gefunden.
    WRAP_CONTENT und FILL_PARENT sind keine Längenangaben und werden daher auch nicht über setWidth bzw. setSize gesetzt. Es sind ja nur Konstanten von daher haben die Wahrscheinlich immer eine Länge oder Höhe von 1 oder so definiert.
    Stattdessen muss man sie über
    Code:
    LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    nameView.setLayoutParams(params);
    festlegen.
    Aber danke für die Antwort! :)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
org.w3c.dom.Element - Neues Element hinzufügen Android App Entwicklung 27.11.2018
Map wird in Emulator angezeigt, aber nicht auf Handy Android App Entwicklung 03.06.2018

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. android layout width laufzeit wrap_content

Du betrachtest das Thema "LinearLayout dynamisch erstellt - Elemente werden nicht angezeigt" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.