gpt4 book ai didi

android - button.setColorFilter 不工作

转载 作者:太空狗 更新时间:2023-10-29 16:21:56 46 4
gpt4 key购买 nike

我有一段代码可以在点击时改变图像按钮的色调。

这是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/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com