kostenloser Webspace werbefrei: lima-city


Android Studio layout probleme

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    traumtaenzer

    traumtaenzer hat kostenlosen Webspace.

    Hallo erstmal.
    Ich versuch mich derzeit daran eine app zu schreiben. Ich würde mir gern zwei imagebuttons anzeigen lassen. Die sollen von der breite her zentriert angezeigt werden und im gleichmässigen abstand zum oberen/unteren rand und zueinander haben. Das habe ich soweit auch hinbekommen. Hab einfach 5 lineare layouts eingefügt und jeder hat 1/5 des bildschirms. Im 1. und 3. layout sind dann die buttons. Kann denen natürlich ne grösse z.b. breite 100dp und höhe 100dp zuweisen allerdings wenn nun die grösse des bildschirms ändere bleibt ja die angegeben gösse der buttons gleich. Die grösse der layouts ändert sich natürlich.
    Meine frage nun. Kann man die buttons so anpassen das sie in der höhe z.b. die höhe des layoutfeldes hat und in der breite auch die höhe des layoutfeldes? Denn somit wäre der button quadratisch und die grösse würde sich dann mit grösserem oder kleinerem display anpassen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich verstehe Dein Problem nicht so ganz. Meinst Du das hier? http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html#MATCH_PARENT

    Ansonsten könnte etwas Code mit evtl. Screenshot vielleicht helfen.
  4. Verstehe auch nicht so ganz das Problem. Zentrieren geht einfach, indem du die Breite auf 0dp setzt und die "Gewichtung" auf 1.
    android:layout_width="0dp" + android:layout_weight="1"

    Ausrichten kannst du es mit der "gravity" Eigenschaft.
    android:gravity="center_vertical|center_horizontal"

    In etwa
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
    
    	xmlns:android="http://schemas.android.com/apk/res/android"
    	android:orientation="horizontal"
    	android:layout_width="match_parent"
    	android:layout_height="match_parent"
    	android:gravity="center_vertical|center_horizontal">
    
    	<Button
    		android:id="@+id/button1"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:text="New Button"
    		android:layout_weight="1"/>
    
    	<Button
    		android:id="@+id/button2"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:text="New Button"
    		android:layout_weight="1"/>
    
    </LinearLayout>
    http://kozak.lima-city.de/sonstiges/tmp.jpg

    Mit
    android:layout_weight="X"
    kannst du spielen und bei Bedarf mit
    android:layout_margin
    ggf. weiter anpassen.
  5. Autor dieses Themas

    traumtaenzer

    traumtaenzer hat kostenlosen Webspace.

    Also so sieht das derzeit aus:

    http://traumtaenzer.lima-city.de/bilder/4-7zoll.jpg
    ausgerichtet auf ein 4,7 Zoll Display
    Der untere weiße teil ist in 5 gleich große Lineare Layout unterteilt.
    im 2. und 4. Layout befinden sich die Buttons


    wenn ich die Display grösse nun ändere z.b. auf 3,7 Zoll verkleiner dann kann man beim oberen Button sehen das am unteren ende des Buttons was fehlt weil der Button größer ist als 1/5 des Displays
    http://traumtaenzer.lima-city.de/bilder/3-7zoll.jpg


    vergrößer ich da Display auf 7 Zoll dann sind die Buttons zwar vollständig aber vom verhältnis Displaygrösse/Buttongrösse wirken die zu klein.
    http://traumtaenzer.lima-city.de/bilder/7zoll.jpg



    der code sieht wie folgt aus:
    <?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="match_parent">
    
        <include
            android:id="@id/inctopbar"
            android:layout_width="fill_parent"
            android:layout_height="45.0dip"
            layout="@layout/topbar" />
    
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@id/inctopbar"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:measureWithLargestChild="false">
    
    
            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:layout_gravity="center_horizontal">
            </LinearLayout>
    
    
            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:layout_gravity="center_horizontal">
    
                <ImageButton
                    android:layout_width="100dp"
                    android:layout_height="100dp"
                    android:id="@+id/imageButton"
                    android:background="@drawable/konfiguration"
                    android:clickable="true"
                    android:onClick="Konfiguration"
                    android:layout_gravity="center_horizontal" />
    
             </LinearLayout>
    
    
            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:layout_gravity="center_horizontal">
    
            </LinearLayout>
    
    
            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:layout_gravity="center_horizontal">
    
                <ImageButton
                    android:layout_width="100dp"
                    android:layout_height="100dp"
                    android:id="@+id/imageButton2"
                    android:background="@drawable/startbutton"
                    android:clickable="true"
                    android:onClick="Start"
                    android:layout_gravity="center_horizontal" />
    
            </LinearLayout>
    
    
            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:layout_gravity="center_horizontal">
            </LinearLayout>
    
    
        </LinearLayout>



    ich weiß das ich die buttons mit den codezeilen

    <ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"

    auch auf die größe des linearen layouts anpassen kann

    z.b. mit fill_parent/match_parent/wrap_content

    wenn ich das bei android:layout_height= eintrage dann passt sich die höhe bei Display vergrößerung/verkleinerung dem linearen layout an.

    wenn ich das ganze aber bei android:layout_width= eintrage passt sich der button bei veränderung auch dem linearen layout an, aber der button ist dann über das gesamte display gestreckt.

    mir geht es jetzt darum ob man da was eintragen kann das im prinzip android:layout_width = android:layout_height.
    So würde sich der button der displaygröße ja anpassen und quadratisch bleiben statt gestreckt zu werden.


    Hoff das war jetzt verständlich :)


    Beitrag zuletzt geändert: 5.3.2016 0:53:24 von traumtaenzer
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!