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对象,否则无法比对啊。
不过根据你的需求,你不应该通过图片的变化来判断业务逻辑,而是应该通过你显示的数据本身来判断。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。