安卓网格布局溢出屏幕

7

我有这段代码:

<?xml version="1.0" encoding="utf-8"?>

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnCount="8"
    android:rowCount="8" >

    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />
    <ImageButton 
        android:src="@android:drawable/ic_menu_rotate"
        android:contentDescription="@null" />

</GridLayout>

我收到的信息如下:

在此输入图片描述

它应该是一个8×8的网格,但它超出了边界。 我怎样可以通过xml非编程方式来适配这64个方块?


看起来您的图像太大了,使用行计数时网格布局无法适应屏幕。也许这会有所帮助:链接 - balysv
3个回答

10

2
尝试这个...
<?xml version="1.0" encoding="utf-8"?>

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:columnCount="8"
    android:rowCount="8" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:orientation="horizontal">
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"    
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:orientation="horizontal">
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"    
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
        android:layout_weight="1" 
        android:contentDescription="@null" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:orientation="horizontal">
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:orientation="horizontal">
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:orientation="horizontal">
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:orientation="horizontal">
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:orientation="horizontal">
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:orientation="horizontal">
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    <ImageButton 
        android:layout_width="0dp"
            android:layout_height="wrap_content"
        android:src="@android:drawable/ic_menu_rotate"
            android:layout_weight="1" 
        android:contentDescription="@null" />
    </LinearLayout>


</GridLayout>

2
这也对我有所帮助,但是我有一个小问题。这个实现没有使用GridLayout应该提供的灵活性,使用行和列跨度。是否有一种方法可以使用GridLayout的行和列来实现相同的布局,以适应屏幕的高度和宽度? - Vamsi Challa

1

尝试将其应用于每个布局。

   <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:orientation="horizontal">
        <ImageButton 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1"  />
         <ImageButton 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1"  />
 <ImageButton 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1"  />
 <ImageButton 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1"  />
 <ImageButton 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1"  />
 <ImageButton 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1"  />
 <ImageButton 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1"  />
 <ImageButton 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@android:drawable/ic_menu_rotate"    
            android:layout_weight="1"  />
        </LinearLayout>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接