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

就从最基本的做起吧,今天做了一个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>
05-07 15:25