android ImageButton的图片怎么定义?

============问题描述============

我自定义了一个View对象,对象内在行项目上添加了一个ImageButton对象,对象的图片使用src属于设置,然后在按钮的OnClick事件内通过setBackgroundResource方法设置了ImageButton对象的图片,但两个属于对应的图片不是同一个东西;前者设置后会有一个方形的按钮在下面显示,后者设置后不会显示方形的按钮;如何在xml内设置setBackgroudResource的图片,不要显示按钮的方框;

============解决方案1============

你的需求用drawable就可以实现啊。 为啥子要写代码呢?

另外实际中,imagebutton比较冷门, 都用imageview

============解决方案2============

android:src设置的是图片显示的内容,当然和setBackgroundResource设置背景不一样,你应该设置imageView.setImageDrawable,这个来设置显示内容,这样就和android:src设置的一致了。

============解决方案3============

引用 6 楼 hackerlyf 的回复:

view.setBackgroundResource可以设置图片的背景,用什么命令获取view的背景图片呢?

view.getBackground()

============解决方案4============

可以用preference保存状态,也可以设置一个全局标识,点一次改变一下状态

============解决方案5============

我觉得,你应该使用android的 selector, 既然你是某种按钮的开闭图片状态,直接在drawable文件夹下建一个xml文件夹,

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

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/ic_launcher" android:state_enabled="false" />

    <item android:drawable="@drawable/ic_launcher" />

</selector>

你将这个文件作为普通的drawable资源进行使用

当你需要更改图片状态的时候,设置view的enable就好了,android会自己帮你切换对应图片

============解决方案6============

最好用imageview,一样有点击事件,何必用imagebutton

============解决方案7============

你的意思是说需要设置该View只显示图片而不显示背景的方框吗?,可以这样设置该XML文件的

android:background="#00000000"

android:src="@drawable/xxx"

第一句设置背景为全透明,看看是否可行。

============解决方案8============

引用 8 楼 hackerlyf 的回复:

Quote: 引用 7 楼 lionfresh 的回复:

Quote: 引用 6 楼 hackerlyf 的回复:

view.setBackgroundResource可以设置图片的背景,用什么命令获取view的背景图片呢?

view.getBackground()

我有两个图片,一个是开,一个是关,初始化时是关闭状态,我想判断View的背景是否是开的图片还是关的图片,这两个图片放在drawable目录下,通过view.getBackgroud()获取的是个drawable对象,R.drawable.lighton是int对象,应该怎么对比判断呢?

这个除非你在setBackground()保存了drawable对象,否则无法比对啊。

不过根据你的需求,你不应该通过图片的变化来判断业务逻辑,而是应该通过你显示的数据本身来判断。

时间: 2024-08-08 08:49:45

android ImageButton的图片怎么定义?的相关文章

React Native for Android 热部署图片自己定义方案

情景 热部署时,我们期望升级包中包括js代码与图片资源. bundle的热部署网上已经有两种方案了,一种是用反射,一种是利用RN自带函数.将bundle初始化时直接放到指定文件夹下,之后通过替换bundle文件实现代码热部署. 我们希望图片也能够实现热部署,以下是一个比較简单的解决方式. 详细需求:client解析从server下发的压缩包(zip),当中含js源文件index.android.bundle 和 图片包,解压后ReactNative指向 解压后index.android.bund

android imageButton 透明图片

在Android有许多不规则button.例如: 这个时候,我们假设想做成不规则button的话.第一步就是搞一张边缘透明的png图片,然后用src指定到他.这个时候我们会发现,还没有达到要的效果.还有图片周围还是有一层渲染.此时还要搞第二步:须要对ImageButton设置背景属性android:background="#00000000".就实现了不规则button的效果了. 如图: 版权声明:本文博客原创文章,博客,未经同意,不得转载.

android imageButton 使用透明图片

在Android上有很多不规则按钮.如: 这个时候,我们如果想做成不规则按钮的话,第一步就是搞一张边缘透明的png图片,然后用src指定到他,这个时候我们会发现,还没有达到要的效果,还有图片周围还是有一层渲染.此时还要搞第二步:需要对ImageButton设置背景属性android:background="#00000000",就实现了不规则按钮的效果了.如图: android imageButton 使用透明图片

解决android:background背景图片被拉伸问题

ImageView中XML属性src和background的区别: background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸.src是图片内容(前景),bg是背景,可以同时使用. 此外:scaleType只对src起作用:bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式 如上所述,background设置的图片会跟View组件给定的长宽比例进行拉伸.举个例子, 36x36 px的图标

android:background背景图片被拉伸问题

ImageView中XML属性src和background的区别: background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸.src是图片内容(前景),bg是背景,可以同时使用. 此外:scaleType只对src起作用:bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式 如上所述,background设置的图片会跟View组件给定的长宽比例进行拉伸.举个例子, 36x36 px的图标

Android Bitmap 开源图片框架分析(精华四)

disk缓存主要难点在于内存缓存,disk缓存其实比较简单,就是图片加载完成后把图片文件存到本地方便下次使用 同样,先贴一下官方主页的介绍(主页地址见文章最开始处)和内存缓存差不多,根据算法不同提供了几种类别,可以自行通过ImageLoaderConfiguration.discCache(..)设置<ignore_js_op> 硬盘缓存,保存是以文件的形式框架提供了4种类型,具体算法规则不同,看名字我们大概也能知道对应意思 UnlimitedDiscCache                

Android实现本地图片选择及预览缩放效果仿春雨医生

在做项目时经常会遇到选择本地图片的需求,以前都是懒得写直接调用系统方法来选择图片,但是这样并不能实现多选效果,最近又遇到了,所以还是写一个demo好了,以后也方便使用.还是首先来看看效果 显示的图片使用RecyclerView实现的,利用Glide来加载:下面弹出的图片文件夹效果是采用PopupWindow实现,这里比采用PopupWindow更方便,弹出显示的左边图片是这个文件夹里的第一张图片:选中的图片可以进行预览,使用网上一个大神写的来实现的:至于图片的获取是用ContentProvide

android获得ImageView图片的等级

android获得ImageView图片的等级问题 要实现的功能如下图,点击分享能显示选中与不选中状态,然后发送是根据状态来实现具体分享功能. 在gridview中有5个子项,每个子元素都有两张图片A,B的level设置分别为0,1:点击图片使图片AB切换,前题是要能知道当前图片的等级.但这里只有设置等级的方法,设置图片的等级setImageLevel(1); Debug时能看到当前子元素的图片等级,如下: 不能获得当前等级,只能更换思路:定义一个数组,对应每个子元素的状态 final int[

自定义控件如同系统控件:自定义控件,画空间图片,定义空间属性,构造监听器。

android的基本控件很难满足用户的需求,因此有时候用户需要根据美工设置的一些图片来自定义一些控件,不多说,现在介绍一下,自定义一个开关控件的流程,让大家更了解控件的工作原理: 1.首先构建一个控件的类,继承view,这时候需要覆写view的构造方法.同时需要把美工美化好的图片拖到drawable目录下,为了能够手工写代码构建这个控件,则需要传入构建这个空间的上下文环境,即Context,并在构造方法里初始化这个类成员变量.在控件初始化的时候需要加载进美工的图片即:背景bg和开关滑动钮swic