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

Aufteilung der Activity II

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von stonecold, 15.01.2011.

  1. stonecold, 15.01.2011 #1
    stonecold

    stonecold Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    14.01.2011
    Phone:
    HTC Desire HD
    Hallo,

    leider hatte noch niemand einen Tipp wie ich mein Problem von gestern lösen kann. Ich habe zu folgendem Codebeispiel mal eine Frage:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <TableLayout
        android:id="@+id/table_widget"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        xmlns:android="http://schemas.android.com/apk/res/android"
    >    
        <TableRow
            android:id="@+id/widget_top"
            android:layout_width="fill_parent"
            android:layout_height="128dp"
            android:background="@color/blue"
            android:orientation="horizontal"
        >
            
        </TableRow>
        
        <TableRow
            android:id="@+id/widget_bottom"
            android:layout_width="fill_parent"
            android:layout_height="32dp"
            android:background="@color/red"
            android:orientation="horizontal"
        >  
        </TableRow>
        
    </TableLayout>
    
    Eigentlich hätte ich beim Starten der Activity erwartet, dass sich mein Bildschirm in 2 Teile aufteilt und zwar im Verhältnis 128/32. Der obere Teil sollte blau, der untere rot sein. Leider sehe ich nur ein schwarzes Bild. Wenn ich jeweils einen Button einfüge, erscheinen diese in den TableRows allerdings nicht in der angegebenen Höhe (siehe Anhang).

    Ich hoffe ich habe mich verständlich ausgedrückt.

    Gruß,
    Mario
     

    Anhänge:

    Zuletzt bearbeitet: 15.01.2011
  2. tobbbbi, 15.01.2011 #2
    tobbbbi

    tobbbbi Junior Mitglied

    Beiträge:
    27
    Erhaltene Danke:
    3
    Registriert seit:
    06.01.2011
    Also ein TableLayout ist hier glaub ich nicht das Richtige. In deinem Beispiel passt sich eine Row einfach der Größes des beinhalteten Views (hier Button) an. Leider kann man die Größe der Row auch nicht so einfach einstellen.

    Probiere es daher doch einfach mal mit verschachtelten LinearLayouts.

    Für jede Farbe/Button (=row) in deinem Beispiel machst du ein eigenes LinearLayout. Diese setzt du dann auf die gewünschten Größen.

    Also zB. so:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:orientation="vertical"
        xmlns:android="http://schemas.android.com/apk/res/android" >    
         
         <LinearLayout
            android:layout_height="350dp"
            android:layout_width="fill_parent"
            android:background="@color/blue"
            android:orientation="horizontal" >
        
            <Button
                   android:text="Button A"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
            />
        </LinearLayout>
         
         <LinearLayout
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:background="@color/red"
            android:orientation="horizontal" >
            
            <Button 
                android:text="Button B"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
            />
         </LinearLayout>
               
    </LinearLayout>
    Die Größenrelationen der beiden "Rows" zueinander kannst du nun über die Höhenparameter der beiden inneren LinearLayouts ganz flexibel einstellen.
    In meinem Beispiel ist die erste auf 350dp eingestellt und die zweite nimmt über den Parameter height="fill_parent" die restliche Fläche ein.
    Somit kannst du steuern wieviel Platz des Bildschirms jede "Row" im Verhältnis einnehmen soll. Auch wie sich die Buttons innerhalb der "Rows" verhalten sollen, ist nun frei festlegbar.

    Ich hoffe, dass ich dein Problem richtig verstanden habe und du es mit dieser Lösung hinkriegen kannst.
     
    stonecold bedankt sich.
  3. stonecold, 16.01.2011 #3
    stonecold

    stonecold Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    14.01.2011
    Phone:
    HTC Desire HD
    Wow tobbbbi, Danke!
    Das ist genau wonach ich gesucht habe.

    Vielleicht kannst du mir noch eine andere Frage beantworten.
    Soweit ich weiß ist nutzt man die Größenangaben in dp bzw. dip um Auflösungsunabhängig arbeiten zu können!???

    Was genau wird für die Displays in vertikaler (bzw. horizontaler) Richtung denn als Höhe angenommen? Bei mir sieht es so aus, als wären es 480dp. Trifft das jetzt auf alle Auflösungen zu?

    Danke und Gruß,
    Mario
     

Diese Seite empfehlen