android 中怎么控制ImageButton 上的图片与按钮尺寸的匹配

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 中怎么控制ImageButton 上的图片与按钮尺寸的匹配相关的知识,希望对你有一定的参考价值。

图片怎么才能跟view大小一样呢?

参考技术A ImageButton 是ImageView的子类,ImageView中可以通过Scaletype来设置图片的缩放大小等。

ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。

设置的方式包括:
1. 在layout xml中定义android:scaleType="CENTER"
2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);

以下为android:scaleType取值:
1. SetScaleType(ImageView.ScaleType.CENTER);
按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示

2. SetScaleType(ImageView.ScaleType.CENTER_CROP);

按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)

3. setScaleType(ImageView.ScaleType.CENTER_INSIDE);
将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽

4. setScaleType(ImageView.ScaleType.FIT_CENTER);

把图片按比例扩大/缩小到View的宽度,居中显示

5. FIT_START, FIT_END在图片缩放效果上与FIT_CENTER一样,只是显示的位置不同,FIT_START是置于顶部,FIT_CENTER居中,FIT_END置于底部。
在此就不给出示例了。

6. FIT_XY
不按比例缩放图片,目标是把图片塞满整个View。
参考技术B .9.png 格式的,用tools中的工具出来一下就可以直接拉伸了本回答被提问者采纳 参考技术C 可以设置background为图片路径
或者将android:layout_width="wrap_content"
android:layout_height="wrap_content"
或者用ImageView,android:clickable="true"

Android Studio : ImageButton 图像/背景闪光

【中文标题】Android Studio : ImageButton 图像/背景闪光【英文标题】:Android Studio : ImageButton image/background flash 【发布时间】:2016-05-29 21:03:33 【问题描述】:

请告诉我,有没有一种简单的方法可以在 Android 中闪烁/切换ImageButton 的背景或图像?

我基本上是想让用户直观地知道何时对ImageButton 执行点击操作。所以闪烁按钮会有所帮助。

我已尝试研究该主题,但没有提出任何建议。唯一想到的是实现TimerHandler 以在两个可绘制资源之间切换。但这似乎有点矫枉过正!

感谢你们在这个 Android 新手上放轻松。

【问题讨论】:

【参考方案1】:

我建议您使用animation-list 作为ImageButton 的背景。

1) 创建flash_background.xml 文件:

<?xml version="1.0" encoding="utf-8"?>

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">

    <item android:drawable="@drawable/first_background" android:duration="200" />
    <item android:drawable="@drawable/second_background" android:duration="200" />

</animation-list>

2) 然后从代码

yourButton.setBackgroundResource(R.drawable.flash_background);
AnimationDrawable anim = (AnimationDrawable) yourButton.getBackground();
anim.start();

注意:

您可以使用android:duration 来加速/减速动画。

【讨论】:

谢谢拉米!很棒的实现!它就像我想象的那样工作。【参考方案2】:

您可以为该图像设置一个背景,使用任何您希望作为闪光颜色的颜色,然后当用户单击按钮以使该图像环绕时,您可以对该图像进行底部、向上、向右和向左填充主图像。如果你不知道如何实现,你可以评论添加一些代码:)

【讨论】:

感谢您的回答。下面拉米的回答效果更好。

以上是关于android 中怎么控制ImageButton 上的图片与按钮尺寸的匹配的主要内容,如果未能解决你的问题,请参考以下文章

Android中怎么指导ImageButton使用的是哪个resource id?

imageButton 中,怎么实现 src 的图片 和imagebutton 大小 相同拜托各位大神

材质组件中没有 ImageView/ImageButton (Android)

android中,如果使用imageButton可以在drawable 中设置一个selector,但是imageView设置不起作用,怎么办?

android里为ImageButton设置图片出现混乱

在一个seflmade工具栏中使用onClick的ImageButton