android button 图片不缩放,ImageButton如何让图片按比例缩放不被拉伸
了解
在安卓的界面XML中,ImageButton有这样一个属性android:scaleType,他干嘛的?
ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分。有八种类型即
1、center:图片位于视图中间,但不执行缩放。
2、centerCrop按统一比例缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或者大于相应的视图的维度
3、centerInside按统一比例缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或者小于相应的视图的维度
4、fitCenter缩放图片使用center,在中间
5、fitEnd缩放图片使用END,靠近尾部
6、fitStart缩放图片使用START,靠近头部
7、fitXY缩放图片使用XY
8、matrix当绘制时使用图片矩阵缩放
相应的java代码为 imageButton.setScaleType(ImageView.ScaleType.FIT_CENTER);
在这里我们选择fitCenter缩放图片使用center
实施
我们想要实现的效果是一个按钮点击下去可以显示点击的效果,即另外一张图片。结合onTouchListener就可以实现,不过有个地方要注意一下。
1:public class Example extends Activity {
2:ImageButton exm;
3:
4:public void onCreate(Bundle savedInstanceState) {
5: super.onCreate(savedInstanceState);
6: setContentView(R.exampleLayout);
7: exm = (ImageButton)findViewById(R.id.exmBtn);
8: initBtnListener(exm);
9:}
10:
11:private void initBtnListener(ImageButton btn){
12: btn.setOnTouchListener(new View.OnTouchListener(){
13: @Override
14: public boolean onTouch(View v, MotionEvent event) {
15: if(event.getAction() == MotionEvent.ACTION_DOWN){
16: //更改为按下时的背景图片
17: exm.setImageResource(R.drawable.anwbtn1);
18: }else if(event.getAction() == MotionEvent.ACTION_UP){
19: //改为抬起时的图片
20: exm.setImageResource(R.drawable.anwbtn0);
21: }
22: return false;
23: }
24: });
25: }
26:
27:};
在exampleLayout的XML中有一个id为exmBtn的ImageButton,并且设置属性android:scaleType=“fitCenter”
上面中更改按钮图片的方法还有另外一种就是v.setBackgroundResource(int);但是这种方法达不到让ImageButton自己管理图片缩放的效果,所以应该直接让ImageButton自己setImageResource。
注意上面的代码中使用到了内部类,其实上面的用法参数btn确实是指向exm,但是不能用btn代替exm去更换按钮图片,原因是btn必须声明为final才能在匿名内部类View.OnTouchListener()中使用。所以可以把btn参数直接替换成exm并把形式参数去掉。
android button 图片不缩放,ImageButton如何让图片按比例缩放不被拉伸相关推荐
- Android横竖屏切换View设置不同尺寸或等比例缩放的自定义View的onMeasure解决方案(2)...
Android横竖屏切换View设置不同尺寸或等比例缩放的自定义View的onMeasure解决方案(2) 附录文章1以xml布局文件方式实现了一个view在横竖屏切换时候的大小尺寸缩放,实现这种需求 ...
- css 缩放比例缩放,CSS实现宽高成比例缩放
用js实现一个宽度自适应,高度随着宽度变化而变化的矩形,相信大家肯定都会.无非是js获取一下元素宽度,然后再计算出相应比例的高度,然后赋给元素,但如果要求只用CSS实现呢. html代码如下, con ...
- Android 根据屏幕尺寸适配控件大小(按比例缩放)
在写布局时就在想有没有一种方式跟随屏幕大小自动缩放呢? 寻思半天不如上手写个出来 package com.android.juzi.layout;import android.app.Activity ...
- android 字体百分比,android 解决百分比布局适配时Textview的字体Textsize比例缩放问题...
在使用百分比布局的过程中,大家可能会遇到一个问题,Textview的控件大小是由百分比分数算出来的,但是字体大小Textsize却没法确定.于是我想到继承textview写一个自定义的PercentT ...
- Android横竖屏加载不同的XML,Android横竖屏切换View设置不同尺寸或等比例缩放的XML解决方案...
在一些应用中,涉及到横竖屏切换,View要切换成不同大小比例尺寸.为解决这种开发场景,有多种解决方案,比如可以重写View,实现横竖切换在onMesure或者此类View的回调方法里面重新测量重新绘制 ...
- android调取手机相册或打开相机选择图片并显示
作为一个android小白,自己想尝试写一个小项目,因此写个小博客记录一下自己的开发历程.这一篇记录自己学习调取手机相册以及打开相机选择图片并显示 示例是采用PopupWindow弹出底部菜单,选择相 ...
- android 固定比例图片裁剪插件,移动端添加图片裁剪的坑
本文关键:阻止冒泡.canvas压缩.canvas裁剪.生成黑色图片. 最近项目需要在添加图片时实现裁剪功能,虽然 github 上开源的裁剪插件不少,试了好几个插件,在移动端体验好的寥寥无几.躺了几 ...
- php 改变图片的宽高,php缩放图片(根据宽高的等比例缩放)示例
php缩放图片(根据宽高的等比例缩放)示例 发布于 2014-12-07 08:53:31 | 149 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...
- python 图像等比例缩放
图像等比例缩放 图像缩放 等比例缩放 pytorch下,对多维tensor进行缩放 图像缩放 目前比较常用的就是opencv-python底下的cv2.resize() cv2.resize(src, ...
最新文章
- 新站长更要努力做好SEO相关的优化
- python爬取贴吧所有帖子-Python爬虫实例(一)爬取百度贴吧帖子中的图片
- mscoreei.dll没有被指定在windows上运行_在Windows上使用Docker运行.NetCore
- 第一个通过HCIEv3.0的咱的学员
- 【转】计算机中浮点数的表示
- 牛客网编程题python输入输出_牛客网算法题目记录
- splay学习小记[未完结]
- Hibernate 主键策略
- 配置高并发jdbc连接池
- delphi播放wav声音
- mq消息队列到底是什么
- discuz论坛模板文件目录
- 被伽卡他卡禁用任务管理器如何解决
- OSI七层模型和STP/IP协议模型(生动形象,简单易懂)
- 二维数组的几种定义方法
- ASCII码和汉字码
- 假设检验基础 R语言
- EXCEL日月年转换成年月日
- 创建Oracle数据库和表
- 以ofo为代表的共享经济退烧后,风投目光转向了芯片!
热门文章
- linux安装python3.7
- 阿里天池用Pandas揭秘美国选民的总统喜好附加题
- javascript div 没id_javascript原生自定义轮播图组件
- HTML两个查询条件,javascript – 如何在IndexedDB中查询多个条件?
- python476集免费教材_476. 数字的补数 | python|python爬虫|python入门|python教程
- python phpstudy_python有没有像phpstudy那样的工具
- 手机鸿蒙系统体验,首位!魅族Lipro智能家居宣布接入鸿蒙系统,魅族手机还会远吗?...
- 加快网站速度的最佳做法_(3)script脚本放在底部
- Oracle database sqldeveloper study(1)
- MAC下安装NDKR10e