ale*_*leb 5 android android-imageview touch-feedback
我有一个带有ImageView和TextView的LinearLayout"卡".我想要在用户点击它时突出显示该卡.有关示例,请参见http://www.youtube.com/watch?v=Yx1l9Y7GIk8&feature=share&t=15m17s.
通过设置可以轻松完成TextView android:background="@drawable/blue_highlight"
.下面是res/drawable/blue_highlight.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="@color/selected"/>
<item android:state_pressed="true" android:drawable="@color/pressed"/>
<item android:drawable="@color/bg_window"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
但这对ImageView不起作用,因为图像在前面而背景不可见.如何为ImageView创建半透明色的触摸高光效果?
ale*_*leb 12
令人惊讶的是,FrameLayout具有可用于此的前景属性.缺点是你必须添加一个额外的FrameLayout元素.实现很简单,所以在你有时间实现花哨的图像处理(对图像去色,然后应用高亮显示)和动态构建状态drawable之前,这似乎已经足够了.
所以在我的情况下,这将是:
<FrameLayout
android:foreground="@drawable/blue_highlight_image"
>
<ImageView ...>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
@ drawable/blue_highlight_image使用一个新的@color/pressed_image值,类似于@ color/pressed但有一个alpha通道,例如:#81CFEB - >#AA81CFEB.
感谢@Vang提出的建议.
归档时间: |
|
查看次数: |
5989 次 |
最近记录: |