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

Hilfe bei XML-Design

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von h00ligan, 25.04.2012.

  1. h00ligan, 25.04.2012 #1
    h00ligan

    h00ligan Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    0
    Registriert seit:
    22.03.2012
    Hey Leute :)

    Ich bin gerade dabei eine XML zu basteln.
    Bisher hat das Design auch noch gut funktioniert, allerdings werden im TableLayout jetzt scheinbar zu viele Daten dargestellt, weswegen die App abstürzt.

    Kurze Info:
    Zur Laufzeit des Scripts werden zur Tabelle neue Zeilen hinzugefügt.
    Eigentlich soll man innerhalb der Scrollview alle Zeilen der Tabelle durchscrollen können.

    Im Anhang ist ein Bild mit meiner Designvorstellung.

    Ich bräuchte von euch nun Hilfe beim Aufbau der XML-Datei, da ich mit den ganzen Einstellungen noch nicht ganz klarkomme...

    Gruß
     

    Anhänge:

  2. Tom299, 25.04.2012 #2
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Ich denke mit nem RelativeLayout bist du gut bedient
     
  3. h00ligan, 25.04.2012 #3
    h00ligan

    h00ligan Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    0
    Registriert seit:
    22.03.2012
    Kannst du das vllt etwas genauer erläutern?
     
  4. StefMa, 25.04.2012 #4
    StefMa

    StefMa Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    HI,

    glaube sein Problem liegt nicht an Layout selbst, sondern am Absturz der App. Was er wiederum folgert ist, dass das layout dran schuld ist ;)

    Das bezweifle ich aber Stark!
    Ein Layout, nur weil es zuviele Views hat, kann nicht den Absturz einer App herausbeschwören! :D

    Zeig mal dein Logcat..

    Gruß
     
  5. h00ligan, 25.04.2012 #5
    h00ligan

    h00ligan Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    0
    Registriert seit:
    22.03.2012
    Hey,

    hab es jetzt IRGENDWIE hinbekommen, dass die Daten ordentlich angezeigt werden :)

    Aaaaber:
    Das Scrollview macht sich selber so groß, dass alle Daten ohne Scrollen dargestellt werden.
    Leider werden die beiden Buttons unten dann zusammengequetscht...

    Woran kann das liegen?
    Ich weiss leider nicht genau, welche Einstellungen ich machen muss bei den einzelnen Elementen

    Gruß
     
  6. swordi, 25.04.2012 #6
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    dann zeig dein xml mal her. sonst wirds wohl schwer
     
  7. h00ligan, 25.04.2012 #7
    h00ligan

    h00ligan Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    0
    Registriert seit:
    22.03.2012
    Alsoooo, so sieht die XML aus:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/order_overview_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal|center"
            android:text="Bestelldetails" />
    
        <Button
            android:id="@+id/back_to_overview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Zurück zur Liste" />
        
        <ScrollView 
            android:id="@+id/orderDetailScrollView"
    		android:layout_width="match_parent"
    		android:layout_height="match_parent">
    		
      		<TableLayout
      	    	android:id="@+id/orderDetailTableLayout"
      	    	android:layout_width="match_parent"
      	    	android:layout_height="wrap_content" >
      	    	
        		<TableRow
        	    	android:id="@+id/orderDetailTableRow"
        	    	android:layout_width="match_parent"
        	    	android:layout_height="wrap_content" >
        		    
        		</TableRow> 
      		</TableLayout>
      		
      	</ScrollView>
    	
    	<RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:id="@+id/root" >
    
    		<LinearLayout
    			android:id="@+id/buttons"
    			android:orientation="horizontal"
    			android:layout_width="match_parent"
    			android:layout_height="wrap_content"
    			android:layout_alignParentBottom="true">
    			<Button
    				android:id="@+id/buttonbefore"
    				android:layout_width="match_parent"
    				android:layout_height="wrap_content"
    				android:layout_weight="50"
    				android:text="Genehmigen" />
    			<Button
    				android:id="@+id/buttonnext"
    				android:layout_width="match_parent"
    				android:layout_height="wrap_content"
    				android:layout_weight="50"
    				android:text="Verweigern" />
     		</LinearLayout>
     	</RelativeLayout>
    </LinearLayout>
    
     
  8. swordi, 25.04.2012 #8
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    mach mal sowas

    <ScrollView
    android:id="@+id/orderDetailScrollView"
    android:layout_width="match_parent"
    android:layout_height="0dip"
    android:layout_weight="1">
     
  9. h00ligan, 25.04.2012 #9
    h00ligan

    h00ligan Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    0
    Registriert seit:
    22.03.2012
    Jetzt wird nur noch oben der TextView und der Button angezeigt :(
     
    Zuletzt von einem Moderator bearbeitet: 25.04.2012
  10. swordi, 25.04.2012 #10
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    ok das macht natürlich sinn

    jetzt würde ich der scrollview noch

    android:layout_marginBottom="-50dip" geben

    -50dip kann auch einen anderen wert haben. musst probieren
     
  11. Tom299, 25.04.2012 #11
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    versuch das mal:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    
        <TextView
            android:id="@+id/order_overview_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Bestelldetails"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
        />
    
        <Button
            android:id="@+id/back_to_overview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Zurück zur Liste" 
            android:layout_below="@+id/order_overview_text"
        />
        
        <ScrollView 
            android:id="@+id/orderDetailScrollView"
    		android:layout_width="match_parent"
    		android:layout_height="match_parent"
    		android:layout_below="@+id/back_to_overview"
    		android:layout_above="@+id/buttons"
    		>
    		
      		<TableLayout
      	    	android:id="@+id/orderDetailTableLayout"
      	    	android:layout_width="match_parent"
      	    	android:layout_height="wrap_content" >
      	    	
        		<TableRow
        	    	android:id="@+id/orderDetailTableRow"
        	    	android:layout_width="match_parent"
        	    	android:layout_height="wrap_content" >
        		    
        		</TableRow> 
      		</TableLayout>
      	</ScrollView>   	
      	
    	<LinearLayout
    		android:id="@+id/buttons"
    		android:orientation="horizontal"
    		android:layout_width="match_parent"
    		android:layout_height="wrap_content"
    		android:layout_alignParentBottom="true"
    		>
    		
    		<Button
    			android:id="@+id/buttonbefore"
    			android:layout_width="match_parent"
    			android:layout_height="wrap_content"
    			android:layout_weight="50"
    			android:text="Genehmigen" />
    		<Button
    			android:id="@+id/buttonnext"
    			android:layout_width="match_parent"
    			android:layout_height="wrap_content"
    			android:layout_weight="50"
    			android:text="Verweigern" />
    		</LinearLayout>    
    </RelativeLayout>
    
    
     
    h00ligan bedankt sich.
  12. strider, 25.04.2012 #12
    strider

    strider Erfahrener Benutzer

    Beiträge:
    208
    Erhaltene Danke:
    45
    Registriert seit:
    30.09.2011
    Phone:
    Nexus S
    Hast du dir mal überlegt die ScrollView+Tabellayout durch eine ListView zu ersetzen?
     
  13. h00ligan, 25.04.2012 #13
    h00ligan

    h00ligan Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    0
    Registriert seit:
    22.03.2012
    Wow !!!

    Das funktioniert genauso wie ich es haben will <3<3 :p

    Jetzt hätte ich aber noch eine Frage:
    Und zwar besteht die "TableRow" aus 2 TextViews

    Zum einen soll das linke TextView nur 25% groß sein und das rechte dann 75%

    Und das nächste wäre dann, dass im linken TextView teilweise zu langer Text steht, der automatisch umgebrochen werden muss.
    Wie bekomme ich sowas hin?
     
  14. Tom299, 25.04.2012 #14
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    25% und 75% müßte eigentlich mit Weigth-Angabe funktionieren:
    Code:
    android:layout_weight="0.25"
    
    Multiline mit:
    Code:
    android:inputType="textMultiLine"
    
     
  15. h00ligan, 25.04.2012 #15
    h00ligan

    h00ligan Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    0
    Registriert seit:
    22.03.2012
    Hey, nochmal Danke!
    AAAABER, wie realisiere ich das im Script?
    Weil die TextViews ja erst während des Scripts erstellt werden.

    Gruß
     
  16. swordi, 25.04.2012 #16
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    selber mal was suchen ?
     
  17. h00ligan, 25.04.2012 #17
    h00ligan

    h00ligan Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    0
    Registriert seit:
    22.03.2012
    Das habe ich bereits...

    Allerdings finde ich dazu nichts :(
     
  18. swordi, 25.04.2012 #18
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    lol

    ok
     
  19. h00ligan, 25.04.2012 #19
    h00ligan

    h00ligan Threadstarter Junior Mitglied

    Beiträge:
    40
    Erhaltene Danke:
    0
    Registriert seit:
    22.03.2012
    Naja, gefunden habe ich schon etwas, aber davon funktioniert nichts...

    Beispiele:
    textview.setSingleLine(false); //bringt nichts
    textview.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); //bringt nichts
    textview.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 25)); //bringt nichts

    EGAL was ich einbaue beim Script, das Resultat ist eine leere Tabelle...
     
  20. Tom299, 25.04.2012 #20
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Du mußt aufpassen, welche LayoutParams du verwendest. Wenn du die TextView zur TableRow hinzufügst, müßtest du wohl TableRow.LayoutParams verwenden.

    Wenn du in den Import schaust, wird vermutlich das falsche verwendet.
     
    h00ligan bedankt sich.

Diese Seite empfehlen