Android 在不同的屏幕分辨率上保持按钮的圆形图像比率

Android 在不同的屏幕分辨率上保持按钮的圆形图像比率,android,image,android-layout,aspect-ratio,android-resolution,Android,Image,Android Layout,Aspect Ratio,Android Resolution,我有一个带有背景图片的图片按钮。png的一个圆圈。我在不同分辨率的屏幕上测试它,每个屏幕上看起来都不一样。它们中的大多数通过在一维上拉伸来扭曲圆的形状 正确的处理方法是什么?我熟悉最高质量图像所需的3个密度级别,但我认为问题在于图像按钮本身或父容器上的布局类型属性 来自main.xml的代码段 从ImageButton中删除布局权重属性修复了大多数情况,但不是所有情况。似乎填充仍在改变圆的比率。比例类型没有效果。是因为我的图像被设置为背景而不是src吗?我认为图像按钮中的android:la

我有一个带有背景图片的图片按钮。png的一个圆圈。我在不同分辨率的屏幕上测试它,每个屏幕上看起来都不一样。它们中的大多数通过在一维上拉伸来扭曲圆的形状

正确的处理方法是什么?我熟悉最高质量图像所需的3个密度级别,但我认为问题在于图像按钮本身或父容器上的布局类型属性

来自main.xml的代码段



从ImageButton中删除布局权重属性修复了大多数情况,但不是所有情况。似乎填充仍在改变圆的比率。比例类型没有效果。是因为我的图像被设置为背景而不是src吗?

我认为图像按钮中的android:layout\u weight=“1”是原因。无论屏幕大小如何,它都会使ImageButton与屏幕大小相同

尝试删除该属性。如果这不能解决您的问题,请查看属性

<ImageButton
    android:id="@+id/button1"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:layout_gravity="center"
    android:background="@null"
    android:src="@drawable/button_inactive"
    android:scaleType="centerInside"/>

您可以将ImageView的属性设置为图像的属性。 它们的行为都略有不同,因此您必须使用一个适合您需要的(CenterInside是一个很好的开始)


如果这不起作用,您可以始终指定图像的设置高度/宽度(例如layout_width=“128dp).

是布局权重还是您选择了缩放类型?只是为了让我可以为其他用户编辑答案…我最终都做了,但布局权重是关键。@Enterco-还有一件事发生了-当我增加容器上的填充时,它再次扭曲了比率。即使使用所有不同的缩放类型。WYSIWYG编辑器不是吗要正确地显示它吗?或者还有更多吗?scaleType可能没有做任何事情,因为我的图像被设置为背景而不是src?我总是喜欢在子对象上加边距,而不是在父对象上加填充。另外,将图像设置为背景而不是src有效果。我只是不知道什么是最好的。祝你好运rry,我必须取消那个复选标记。图像仍然扭曲。布局权重修复了大多数情况,但没有父容器中的填充将其弄乱。比例类型似乎没有影响它。可能是因为我的图像被设置为背景而不是src吗?我修改了答案。如果您将背景设置为@null,则将src添加到可绘制文件中,可以适当地使用scaleType=“centerInside”属性