Android Studio layout probleme
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
anpassen
bild
bildschirm
button
code
display
frage
http
kleinerem display
layout
lineare layout
lineare layouts
linearen layout
oberen button
oberen unteren rand
problem
unteren ende
url
verkleinerung
zoll
-
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. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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. -
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
http://kozak.lima-city.de/sonstiges/tmp.jpg<?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>
Mit
kannst du spielen und bei Bedarf mitandroid:layout_weight="X"
ggf. weiter anpassen.android:layout_margin
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage