请问ImageButton里面那几个状态在xml文件定义怎么实现?

牛叔 2010-09-13 03:27:22
To indicate the different button states (focused, selected, etc.), you can define a different image for each state. E.g., a blue image by default, an orange one for when focused, and a yellow one for when pressed. An easy way to do this is with an XML drawable "selector." For example:


<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/button_normal" /> <!-- default -->
<item android:state_pressed="true" android:drawable="@drawable/button_pressed" /> <!-- pressed -->
<item android:state_focused="true" android:drawable="@drawable/button_focused" /> <!-- focused -->
</selector>


文档里面是这么写的,调用时在imagebutton的android:src里面。
但是我就就是没有成功实现过状态,每次就是一个默认值就没了,是不是要设置背景颜色什么的?
哪位实现过,帮帮忙告诉我怎么弄的。谢谢。
...全文
187 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
牛叔 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 arashmen 的回复:]

还是用这个邮件吧Arashmen@163.com
无外网公司邮件出不去
[/Quote]
你是湘潭的?
ArashmenZhu 2010-09-13
  • 打赏
  • 举报
回复
还是用这个邮件吧Arashmen@163.com
无外网公司邮件出不去
ArashmenZhu 2010-09-13
  • 打赏
  • 举报
回复
有问题可以继续问我,
我的mail
zhuxj@nttdatabj.com.cn
或者arashmenzhu@nttdatabj.com.cn
ArashmenZhu 2010-09-13
  • 打赏
  • 举报
回复
我发你了个Demo
里面有ImageButton ImageView TextView Button的Demo,全部通过
牛叔 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 arashmen 的回复:]

引用 7 楼 ymdcr 的回复:
ytdcr@tom.com
谢谢


稍等下,公司内部资料机密、
我写个Demo给你发过去,
[/Quote]
谢谢了
我发现,把默认item放在最下面就一切正常了,放最上面就没反应。
不知道这个算不算bug。
可能是图片效果不一样,我确实是设置的src属性。文档上也是写的src。
不过还是谢谢你。
分全给你。
牛叔 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 arashmen 的回复:]

引用 7 楼 ymdcr 的回复:
ytdcr@tom.com
谢谢


稍等下,公司内部资料机密、
我写个Demo给你发过去,
[/Quote]
好的,谢谢。
我试了下,不用这个默认item的,他就有效果。
ArashmenZhu 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ymdcr 的回复:]
ytdcr@tom.com
谢谢
[/Quote]

稍等下,公司内部资料机密、
我写个Demo给你发过去,
牛叔 2010-09-13
  • 打赏
  • 举报
回复

谢谢
牛叔 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 arashmen 的回复:]

引用 4 楼 ymdcr 的回复:
不过成背景了
还拉伸变形了


设置背景了,就不要设置src这个属性,否则会叠加的
拉伸变形的问题你可以设置layout_width,height
[/Quote]
关键是变形了也没有那几种状态的效果。。。
你能否把你的demo发给我,谢谢。。。
ArashmenZhu 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ymdcr 的回复:]
不过成背景了
还拉伸变形了
[/Quote]

设置背景了,就不要设置src这个属性,否则会叠加的
拉伸变形的问题你可以设置layout_width,height
牛叔 2010-09-13
  • 打赏
  • 举报
回复
不过成背景了
还拉伸变形了
牛叔 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 arashmen 的回复:]

是background="@drawable/back_change"
其中back_change是一个xml文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:s……
[/Quote]
貌似不对哦
还是只有默认的。。。
牛叔 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 arashmen 的回复:]

是background="@drawable/back_change"
其中back_change是一个xml文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:s……
[/Quote]

懂了
我试试
ArashmenZhu 2010-09-13
  • 打赏
  • 举报
回复
是background="@drawable/back_change"
其中back_change是一个xml文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_selected="true"
android:drawable="@drawable/back_pressed" />
<item android:state_pressed="true"
android:drawable="@drawable/back_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/back_pressed" />
<item android:drawable="@drawable/back"/>
</selector>

这里的back和back_pressed分别是默认背景和点击的背景图,你也可以直接通过定义#asdasd颜色作为背景

80,488

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧