Java 无法在LinearLayout和Weight属性集中调整图像大小

Java 无法在LinearLayout和Weight属性集中调整图像大小,java,android,android-layout,android-activity,android-studio,Java,Android,Android Layout,Android Activity,Android Studio,我正在尝试调整图像大小和增加图标大小,但我已将它们添加到线性布局中,每5个图标共享权重。它们自身适合,因此我无法增加它们的图标大小/高度/宽度 快照: <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff" android:o

我正在尝试调整图像大小和增加图标大小,但我已将它们添加到线性布局中,每5个图标共享权重。它们自身适合,因此我无法增加它们的图标大小/高度/宽度

快照:

<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#ffffff"
            android:orientation="horizontal"
            android:weightSum="5">

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:background="@null"
                android:src="@drawable/feed_blue" />

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:background="@null"
                android:src="@drawable/compass" />

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:background="@null"
                android:src="@drawable/circle_blue" />

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:background="@null"
                android:src="@drawable/heart_beat" />

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:background="@null"
                android:src="@drawable/user_icon_female" />

        </LinearLayout>

这是我的XML:

<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#ffffff"
            android:orientation="horizontal"
            android:weightSum="5">

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:background="@null"
                android:src="@drawable/feed_blue" />

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:background="@null"
                android:src="@drawable/compass" />

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:background="@null"
                android:src="@drawable/circle_blue" />

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:background="@null"
                android:src="@drawable/heart_beat" />

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_weight="1"
                android:background="@null"
                android:src="@drawable/user_icon_female" />

        </LinearLayout>


我需要按照我的意愿增加/减少图标的大小,但权重属性可能限制了这种能力。我如何才能做到这一点呢?

对于普通应用程序,您需要针对所有android资源的图像包,如mipmap hdpi、mipmap mdpi、mipmap nodpi、mipmap xhdpi、mipmap xxhdpi、mipmap xxxhdpi,并且您不应该通过编程更改图像大小,如果没有图像包,请尝试在所有按钮中播放vs
android:scaleType
,例如
android:scaleType=“centerCrop”

在这种情况下,它们都占总宽度的20%,您可以通过改变重量轻松改变宽度。您还可以使用padding属性更改宽度和高度。

ScaleType到centerInside,并在PNG中固定所需的大小。我认为这些图标的高度和宽度应该是24dp。检查材料设计指标。你只需要增加一个imageButton的尺寸,或者同时增加所有的尺寸?可能是全部,也可能是一个,根据不同的图标匹配@burakKarasoy@Earthling添加了一个选项除了启动器图标外,任何内容都不应放在mipmap文件夹中。您错了,请阅读“我没有错:”)用户看不到详细信息的差异。官方文档表明,mipmap仅用于启动器图标,因为当设备密度为xxhdpi时,某些启动器需要xxxhdpi res。如果您关心性能和内存,请使用SVG。