您的位置:首页 > 其它

ImageView的selector效果

2015-06-24 23:03 225 查看
在平时开发中如Button我们给它加上selector分别呈现pressed以及normal效果能给我们的用户体验上大大增色不少,可是我们当我们是用ImageView来”当作”一个一个”Button”的时候发现直接设置selector却不起作用,当然此时我们的应用就表现的暗淡了。那我们就只能找到方法来解决这种情况。

首先定义一个selector文件:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:radius="5dp" />
            <solid android:color="#50000000"/>
        </shape>
    </item>

    <item >
        <shape android:shape="rectangle">
            <corners android:radius="5dp" />
            <solid android:color="#00000000"/>
        </shape>
    </item>

</selector>


第二步,给ImageView的src设置该selector。

<ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@null"
        android:scaleType="centerCrop"
        android:src="@drawable/share_image_selector" />


然后我们的ImageVIew上要呈现的图片资源就是用

mImageView.setBackgroundResource(R.drawable.icon);


也就是说我们是给imageview设置backgroundResource,然后给src设置我们设置好的selector,在视觉上我们的selector是显示在ImageView的上方,当然我们点击ImageView的时候就是触发selector,这个时候就会有按下的效果了。

所以说,一个好的app在体验上要做到细心用户用起来才会舒畅,由于忘了是哪位Androider的博客上看到,由于是在检查代码的时候发现了这个效果记录分享一下,感谢那位Androider。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: