Bar*_*man 4 android android-view android-styles
我有一个用作按钮的图像.它是RelativeLayout中的ImageView.RelativeLayout是接收触摸事件的视图.触摸时,我想将图像部分灰化为反馈.我该怎么做呢?
我能想到的最好的方法是在ImageView上放置另一个带有黑色背景的View,并将其设置为100%透明,但触摸时只有50%透明.有没有办法直接设置RelativeLayout或ImageView的样式而不使用额外的View?
提前致谢...
aPr*_*Fox 10
你可以做的一种方法是为ImageView添加一个onclick方法,并在它变灰后为它设置一个标签,并为ColorFilter设置灰色视图.然后,当再次单击时,您可以取消灰色(如果您希望切换灰色).这是一个例子:
将其添加到xml:
<ImageView
...
android:onClick="grayOut"/>
Run Code Online (Sandbox Code Playgroud)
然后在Activity或View类中
public void grayOut(View view) {
// if not grayed
if(view.getTag() != "grayed") {
view.setColorFilter(Color.argb(150,200,200,200));
view.setTag("grayed");
} else {
view.setColorFilter(null);
view.setTag("");
}
}
Run Code Online (Sandbox Code Playgroud)