簡體   English   中英

使GridLayout中的按鈕自動調整

[英]Make Buttons in GridLayout auto adjust

我正在嘗試制作一系列類似於鍵盤的按鈕,用於鍵入紙牌。 但是,在我測試的每個設備上,網格布局中按鈕的大小和位置都不同。 我正在尋找在屏幕上分布3列的最佳解決方案。 任何建議表示贊賞。 還有一種比我開放的網格布局更好的方法。 您可能會猜到,我是android的新手。 提前致謝!

XML代碼:

<?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"
                xmlns:app="http://schemas.android.com/apk/res-auto">


<GridLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="8dp"
    android:columnCount="3"
    android:rowCount="5">

    <Button
        android:id="@+id/buttonK"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="King"/>

    <Button
        android:id="@+id/buttonD"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="Delete"/>

    <Button
        android:id="@+id/buttonG"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="Go!"/>

    <Button
        android:id="@+id/button10"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="10"/>

    <Button
        android:id="@+id/buttonJ"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="Jack"/>

    <Button
        android:id="@+id/buttonQ"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="Queen"/>

    <Button
        android:id="@+id/button7"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="7"/>

    <Button
        android:id="@+id/button8"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="8"/>

    <Button
        android:id="@+id/button9"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="9"/>

    <Button
        android:id="@+id/button4"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="4"/>

    <Button
        android:id="@+id/button5"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="5"/>

    <Button
        android:id="@+id/button6"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="6"/>

    <Button
        android:id="@+id/buttonA"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="Ace"/>

    <Button
        android:id="@+id/button2"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="2"/>

    <Button
        android:id="@+id/button3"
        android:layout_width="128dp"
        android:layout_height="50dp"
        android:text="3"/>
</GridLayout>

</RelativeLayout>

我認為Linearlayout是一個很好的解決方案。 您可以對行使用折合水平,當按鈕的寬度為0dp且權重為1時,它適合所有屏幕尺寸

 <?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" xmlns:app="http://schemas.android.com/apk/res-auto"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_alignParentBottom="true"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/buttonK" android:layout_width="0dp" android:layout_weight="1" android:layout_height="50dp" android:text="King"/> <Button android:id="@+id/buttonD" android:layout_width="0dp" android:layout_weight="1" android:layout_height="50dp" android:text="Delete"/> <Button android:id="@+id/buttonG" android:layout_width="0dp" android:layout_weight="1" android:layout_height="50dp" android:text="Go!"/> <Button android:id="@+id/button10" android:layout_width="0dp" android:layout_weight="1" android:layout_height="50dp" android:text="10"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/buttonK1" android:layout_width="0dp" android:layout_weight="1" android:layout_height="50dp" android:text="King"/> <Button android:id="@+id/buttonD1" android:layout_width="0dp" android:layout_weight="1" android:layout_height="50dp" android:text="Delete"/> <Button android:id="@+id/buttonG1" android:layout_width="0dp" android:layout_weight="1" android:layout_height="50dp" android:text="Go!"/> <Button android:id="@+id/button101" android:layout_width="0dp" android:layout_weight="1" android:layout_height="50dp" android:text="10"/> </LinearLayout> </LinearLayout> </RelativeLayout> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM