- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一段代码可以在点击时改变图像按钮的色调。
这是java代码
button.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent me)
{
if (me.getAction() == MotionEvent.ACTION_DOWN)
{
button.setColorFilter(Color.argb(150, 155, 155, 155));
}
else if (me.getAction() == MotionEvent.ACTION_UP)
{
button.setColorFilter(Color.argb(0, 155, 155, 155));
}
return false;
}
});
代码在此 xml 上运行良好,单击时按钮变暗。
<ImageButton
android:id="@+id/schedule"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="138dp"
android:layout_y="169dp"
android:src="@drawable/schedule"
/>
但它不适用于此 xml,单击时按钮不会变暗。
<ImageButton
android:id="@+id/schedule"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="138dp"
android:layout_y="169dp"
android:background="@drawable/schedule"
/>
为什么我使用 android:background 时 setColorFilter 不起作用?但如果我使用 android:src 它工作正常。
最佳答案
简单的答案是:
android:background
属性是指View类的一个方法,android:src
引用ImageView的一个方法,并且每个类维护自己的后台资源。因此,当您调用 ImageView 方法 setColorFilter()
时,它会将滤镜应用于其本地背景资源(由 src
设置的资源)和 setColorFilter()
不知道 background
设置的 View 资源。
关于android - button.setColorFilter 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12331649/
我遇到过这个 html: 上面的html和这个有什么区别: 最佳答案 来自MDN page on the tag : 对于 type 的属性标签,可能的值是: 提交:按钮将表单数据提交给服务器
Button button= (Button) findViewbyID(R.id.button); 和 Button button = new Button(this); 有什么区别? 最佳答案 有
我是一名优秀的程序员,十分优秀!