在开发过程中,动态交互的一些展示效果可以通过布局中添加选择器实现,这样就可减少Activity等的代码数量,MVP开发中降低耦合性,使开发人员在写代码时只需要关注逻辑处理。
比如:一个按钮,原本背景图片为红色,字体为黑色,点击时候背景图片为黄色,字体改为白色。
这类简单效果在布局时就可以实现:
<Button
android:id="@+id/btn_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="立即体验"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="80dp"
android:textSize="25sp"
android:textColor="@drawable/guide_btntext_selector"
android:background="@drawable/guide_btn_selector"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingRight="20dp"
android:paddingLeft="20dp"
android:visibility="gone"
/>
@drawable/guide_btntext_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="#000"/>
<item android:state_pressed="false" android:color="#fff"/>
</selector>
@drawable/guide_btn_selector为
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
>
<item android:state_pressed="true" android:drawable="@drawable/button_red_pressed"/>
<item android:state_pressed="false" android:drawable="@drawable/button_red_normal"/>
</selector>