Android Studio: Größenanpassung von Imagebutton bei Displayänderung?

  • Antworten:1
Michael
  • Forum-Beiträge: 1

08.03.2016, 12:55:56 via Website

Ich bin noch Anfänger und probier gerade ein wenig rum mit Android Studio.

Ich habe nun ein Problem mit ImageButton. Und zwar wird das ganze derzeit für ein 4,7 Zoll Display entworfen!
Wie bekommt man das hin das sich die Größe der Button sich anpassen. Sprich wenn das ganze auf nem kleineren Display läuft die Buttons im verhältniss auch kleiner sind und bei größerem größer.

Also so sieht das derzeit aus:

image
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
image

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.
image

der code sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>
`<
RelativeLayout xmlns:android="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

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.

— geändert am 08.03.2016, 23:41:56

Antworten
Klaus
  • Blogger
  • Forum-Beiträge: 19.172

08.03.2016, 13:03:23 via App

Hallo Michael!

Herzlich Willkommen hier bei uns im Forum. :)

Bitte beachte, dass Threads mit nicht aussagekräftigem Titel bei uns üblicherweise den Regeln entsprechend entfernt werden. Ich bitte dich daher, deinen Threadtitel innerhalb der nächsten 24 Stunden, spätestens jedoch bei deinem nächsten Besuch noch etwas aussagekräftiger zu gestalten (Hierfür einfach unter deinem ersten Beitrag auf 'bearbeiten' klicken, dann kannst du oben noch mal den Titel anpassen)

Danke :)

| LG Klaus |
| Google Nexus 6P - Dirty Unicorns | Google Nexus 6 - Dirty Unicorns |
| Das AndroidPITiden-Buch | Die Androiden-Toolbox | AndroidPIT-Regeln |

Antworten