相关疑难解决方法(0)

Android - 图像按钮比例

我试图将图像放入一个ImageButton用于测试的内容,但ImageButton行为的方式并不像预期的那样.

最初,我制作了一个988x89像素的PNG图像并将其放置ImageButton在一个7英寸1024x600像素模拟屏幕内.这ImageButton是988dp x 89dp,我知道dp和像素不一样,但是对于这个分辨率我预计图像会合理地缩放以占据大部分像素ImageButton.此外,我改为px而不是dp进行测试,它没有任何区别.

但相反,ImageButton使其内部的图像非常小(蓝线是ImageButton边界,绿线是中心对齐指示).

测试图1

所以问题#1:为什么这样的ImageButton图像如此小,当它可以填满大部分屏幕时,即使ImageButton尺寸非常宽?

所以为了克服这个问题,我选择adjustViewBounds哪个没有任何区别,这带来了问题#2:为什么?调整视图边界是不是应该调整视图边界?

到目前为止的代码是:

<ImageButton
        android:layout_width="988dp"
        android:layout_height="89dp"
        android:id="@+id/ibTest"
        android:src="@drawable/image_top_test"
        android:layout_centerHorizontal="true"
        android:adjustViewBounds="true"
        android:cropToPadding="false"
        android:layout_below="@+id/hlTopBar"
        android:background="#00000000" />
Run Code Online (Sandbox Code Playgroud)

所以后来我改为scaleType,fitCenter图像变成了:

测试图像2

这对我来说也很奇怪,因为它ImageButton具有与图像相同的纵横比,所以我希望它适合100%,但它不合适(图像两侧的宽度存在间隙).

所以后来我换scaleType了fitXY,得到了我的最终结果:

在此输入图像描述

毕竟这似乎是预期的图像(将fitXY图像与fitCenterPhotoshop中的fitCenter图像进行比较显示图像略呈椭圆形,但此处无法显示,这是预期的,因为宽度与图像不匹配高度确实).

所以我的一般问题是(#3):什么是在Android中拟合图像的正确方法,并期望它在屏幕上具有常规大小,为什么缩放如此混乱,我做错了吗?

我知道有屏幕尺寸问题和dp等,但缩放不是以受控方式运行,fitCenter使图像椭圆形,并且fitXY太依赖于我在XY上设置正确的图像比率,所以我想知道我是不是做错了什么以及它应该是正确的方式.

最终的XML代码:

<ImageButton
        android:layout_width="988dp"
        android:layout_height="89dp"
        android:id="@+id/ibTest" …
Run Code Online (Sandbox Code Playgroud)

user-interface android image

22
推荐指数
1
解决办法
8万
查看次数

Android - ImageButton上翻转的不同图像

当用户的焦点到达ImageButton时,是否可以指定不同的图像?我想在LinearLayout上显示图像按钮,并在用户的焦点出现在按钮上或用户按下按钮时更改图像.

谢谢.

android imagebutton

6
推荐指数
1
解决办法
8943
查看次数

标签 统计

android ×2

image ×1

imagebutton ×1

user-interface ×1