Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ImageButton在gridlayout中自动调整大小_Android_Xml_Layout - Fatal编程技术网

Android ImageButton在gridlayout中自动调整大小

Android ImageButton在gridlayout中自动调整大小,android,xml,layout,Android,Xml,Layout,我问这个(可能是)相当简单的问题,因为我自己都搞不懂,在谷歌上搜索一个多小时并不能给我正确的结果。 所以问题是:当我的图片非常大时,我如何制作我的项目(通常只有16个图像按钮),使它们保持比例(与gridlayout相比)(简而言之:我将16xImages作为src加载到buttonImages上,每个图像是640x640,我希望网格布局中的16个按钮与网格布局的宽度/高度和列/行计数相比进行缩放)。我希望这可以用XML编写,因为我不想重构我的java代码:/ 另外,我是Android程序的新手

我问这个(可能是)相当简单的问题,因为我自己都搞不懂,在谷歌上搜索一个多小时并不能给我正确的结果。 所以问题是:当我的图片非常大时,我如何制作我的项目(通常只有16个图像按钮),使它们保持比例(与gridlayout相比)(简而言之:我将16xImages作为src加载到buttonImages上,每个图像是640x640,我希望网格布局中的16个按钮与网格布局的宽度/高度和列/行计数相比进行缩放)。我希望这可以用XML编写,因为我不想重构我的java代码:/

另外,我是Android程序的新手

Ps2.这是我的GridLayout和button示例,但它完全错了:/

<GridLayout
    android:id="@+id/GridLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnCount="4"
    android:rowCount="4"
    tools:context=".GridXMLActivity"
    android:layout_below="@+id/Tx1"
    android:layout_above="@+id/restart"
    android:layout_marginBottom="50sp"
    android:layout_marginTop="50sp"
    >


    <ImageButton
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/transparent"
        android:src="@drawable/clear"
        android:id="@+id/But1"
        android:scaleType="fitXY"
        android:onClick="but1"

        />

[编辑] 我甚至做过这样的布局,但也有一些问题。首先,我的网格布局根本不可缩放!(所以当我使用较低或较高分辨率的屏幕时,它将不适合)。这就是为什么我想让这个按钮具有某种可调整的大小(在这个屏幕上,每个按钮的宽度和高度都为60 SP,我知道它不应该如此) 另一个问题是,我正在处理按钮背景,我想让它成为src。 一般来说,我想在屏幕上实现同样的效果,但要以另一种/更灵活的方式实现(这样分辨率和方向不会影响我的gui及其元素的大小)。如果你需要整个XML文件,我会将其发布在这里,但它有点乱,因为我已经复制粘贴了16次图像按钮

如果您想要缩放某个对象,保持纵横比,并且将一个维度设置为
匹配\u parent
,则另一个维度必须是
包装\u content

因此,假设您希望按钮始终适合宽度,但保持正确的方向:

<ImageButton
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ... />

要使所有项目都适合网格,而不是使所有项目都适合其图像,应使用权重。网格布局的权重需要API21之前的支持库

<GridLayout ...
    android:columnCount="2">

    <ImageButton
        app:layout_gravity="fill"
        app:layout_columnWeight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        ... />

    ...

...

你的问题可以用几种方式来解释。如果我的答案不是你要问的问题,试着用截图或ascii艺术来说明你想要什么(我编辑了我的帖子:)好的,既然没有人回应,我就写这篇很短的文章,我想做的是:我选择了网格布局的宽度和高度,我希望所有这16个图像按钮都适合我的网格布局的宽度和高度,无论我的图像和网格布局有多大