Я создал небольшое приложение, которое циклически перемещается по тонированным изображениям ImageView на кликах.setColorFilter не работает после установки фона через setBackgroundResource
Он хорошо работает с изображением, установленным в файле макета, но он не работает при настройке изображения из кода, как показано ниже.
Любая помощь приветствуется.
public class MainActivity extends Activity {
private ImageView mPic;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPic = (ImageView) findViewById(R.id.pic);
mPic.setBackgroundResource(R.drawable.msh);
mPic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Random random=new Random();
ColorFilter cf = new PorterDuffColorFilter(Color.argb(192, random.nextInt(255), random.nextInt(255), random.nextInt(255)),Mode.SRC_ATOP);
mPic.setColorFilter(cf);
}
});
}
}
Ах, справа. Любая возможность установить цветной фильтр на фоне? –
@MichaelSchmidt см. Обновленный ответ. – aga
Да, работает. Благодарю. –