您的位置:首页 > 其它

踩过的坑之-----selector

2016-03-08 23:46 381 查看
打算踏踏实实的做技术了,以前总是毛毛躁躁的将代码粘贴复制完事能跑起来就行。最近慢慢感觉这样真的对自己的时间和经历是一种浪费。

就从最基本的做起吧,今天做了一个selector,在按钮上面添加效果,

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时-->
<item android:color="@android:color/background_light"/>
<!-- 压下时-->
<item android:state_pressed="true" android:color = "@android:color/holo_red_dark"/>

</selector>


这是最开始的代码,调了很久发现没有效果啊!!找了很多论坛里面,都不行,结果将以前的代码里面的相似代码比较,还是没发现原因。最后发现是要将默认效果放到后面才能实现效果。被自己蠢哭了。。。。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<!-- 压下时-->
<item android:state_pressed="true" android:color = "@android:color/holo_red_dark"/>
<!-- 默认时-->
<item android:color="@android:color/background_light"/>
</selector>


解决问题了就好了,还能够在selector里面添加shape

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<corners android:radius="15dp"/>
<solid android:color="@color/colorPrimary"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="15dp"/>
<solid android:color="@color/colorAccent"/>
</shape>
</item>

</selector>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: