- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
嘿,我有一个 ImageButton
网格,它按显示宽度缩放并包含一个 PNG 文件作为图像。我像这样将整个东西添加到线性布局中:
public void createButtons(){
int buttonX = 9;
int buttonY = 9;
int size = 80;
int tag = 0;
TableLayout layout = new TableLayout (this);
layout.setLayoutParams( new TableLayout.LayoutParams(900,900) );
layout.setPadding(1,1,1,1);
layout.setBackgroundColor(0xff00af00); //green
RelativeLayout ll = (RelativeLayout)findViewById(R.id.rel);
ll.addView(layout);
for(int x=0;x<buttonX;x++) {
TableRow tr = new TableRow(this);
for(int y=0;y<buttonY;y++) {
but[x][y] = new ImageButton(this);
but[x][y].setBackgroundColor(0xff0000af); //blue
but[x][y].setImageResource(R.drawable.buttonmask3);
but[x][y].setScaleType(ImageButton.ScaleType.CENTER_INSIDE);
tr.addView(but[x][y], height/10,height/10);
}
layout.addView(tr);
}
}
问题是,现在的布局如下所示:
而它应该看起来像:
(这是一个快速的 Photoshop,但你明白了,比例应该完全填满按钮)
我能对这些小图像做些什么?我尝试了 CENTER_INSIDE、FITXY 和所有其他 ScaleTypes,但到目前为止我并不走运:/
宽度
取自屏幕宽度(或横向高度)
buttonmask3.png 大约是 170*170 像素。
最佳答案
问题是 ImageButton
自然带有的填充。
添加
but[x][y].setPadding(0, 0, 0, 0);
连同
but[x][y].setScaleType(ImageButton.ScaleType.CENTER_CROP);
帮我解决了。
关于android - ImageButton 上的 ScaleType 导致小图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26369632/
我试过修改 xml 但没有成功。 目前发生这种情况:图像出现在我的 TouchImageView 的中心。 ╔═════════════════════════════════════════════
我非常了解 Android 中的 ImageView 缩放。但无法理解完整的 diff b/w scaleTypes:centerCrop 和 centerInside。 需要一些明确的解释。 最佳答
我需要将 ImageView 中的几个图像调整为屏幕大小。目前我使用 scaleType="centerInside",它适用于较大的图像,可以将它们缩小到屏幕尺寸,但不会扩展小图像。 所有其他建议的
为了让我的问题更清楚,我想在布局 xml 中使用 ScaleType ,根据布局宽度(例如 sw-600、sw-720、...等)使用不同的值,并且作为它没有明确的常量值,例如布局权重,我不知道是否可
我的 Android 应用程序出现异常行为。我有这个 XML 配置 但是当我运行应用程序时,结果是这样的 图像1'、2'、3'是正确的,但为什么第一行的第三张图像不正确?此
如何使用保持宽高比的位图填充 ImageView?如果我使用 scaleType="centerCrop" 它会裁剪图像的顶部,我希望它裁剪右侧和底部。谢谢。 最佳答案 你可以读到这个: Link t
我正在尝试实现一个可以容纳横向或纵向图像的 ImageView。这些图像应该适合 imageview 的宽度(如果是横向)或高度(如果是纵向),但在任何情况下它们都必须与 View 的顶部对齐,没有边
起初看起来很简单,但最终结果并不好。我有一个宽度大于屏幕宽度的图像。所以我需要在我的 ImageView 中缩小它。我查看了 ScaleType 选项并尝试了所有选项,但没有一个可以。第一个 "cen
我有一个带有白色背景和 1dp 填充的 Imageview 集,这会产生类似边框的效果,这是想要的结果。 现在,如果我将 scaleType 设置为 centerCrop,它会忽略顶部和底部的填充。
我不知道为什么 scaleType 不适用于这个 ImageView。 widthGrayBlock 是正确的,我用黑色背景检查了它。 ImageView 具有正确的宽度和高度,但图像资源不适合它
我有一个 ImageView ,我想旋转、缩放和缩小或放大并拖动用户触摸。到目前为止,一切都在以良好的方式完美地工作。 我关注了this代码和一些其他代码以获得最佳结果。现在我希望要拖动、移动、缩放和
我对 Picasso 中的占位符图像有疑问。我在我的一个 imageView 上使用 scaleType fitXY,但我真的不想缩放我的占位符,有没有一种方法可以为我的占位符设置不同的 scaleT
我有一个名为 "alumniImage" 的 ImageView,我以编程方式将其设置为 CENTERCROP 的 ScaleType。 但在应用程序中它似乎没有改变。 这是它的代码: Lin
我喜欢使用自定义的(单选)按钮,我知道我可以使用任何图像作为背景,并在 xml 中使用以下代码: 但是:我想使用三个单选按钮来填满整行。但是我用于按钮的 drawable 不会根据 sreensiz
我正在使用 Glide 4.0 将图像加载到具有 scaleType="matrix"的 ImageView 以实现平移和缩放功能。图片不加载居中。如果它很高,它会加载到左侧,如果它很宽,它会在顶部加
我正在尝试使用 ViewPager 和 Volley 的 NetworkImageView 创建一个图片库。 viewpager 和图像检索一切正常。但是当我将位图放入 NetworkImageVie
我有一个正方形 ImageView,它显示不同尺寸的图片。我想始终保持图片的原始纵横比并且图像周围没有边距(以便图像占据整个 ImageView)。为此,我在 ImageView 上使用了 cente
我使用下面的代码来设置 ImageView 的 ScaleType: iv.setScaleType(ScaleType.FIT_END); 它适合右下角。 但我想让图片适合左下角。 我该怎么做? 最
我有一个填满整个屏幕的 ImageView ,我从 url 下载图像到我的 sdcard,我正在使用 AnimationDrawable 将这些图像显示为 ImageView 中的幻灯片。但无论我如何
我想显示带边框的图像。下面的解决方案适用于某些图像,但不适用于其他图像。 到目前为止,我最好的猜测是,它适用于较小的图像,但不适用于大图像。 对于较小的图片,该解决方案可以很好地显示具有 2 像素边框
我是一名优秀的程序员,十分优秀!