[英]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.