ImageView黑白无法在警报对话框中工作

时间:2017-07-17 19:03:02

标签: android android-alertdialog

我希望自定义提醒对话框中的imageview为黑白色。 正确的方法(在重新研究之后)是......

ColorMatrix matrix = new ColorMatrix();
        matrix.setSaturation(0);

        ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
        imageview.setColorFilter(filter);

但是,当我的imageview是我的自定义提醒对话框时,这不起作用。

这是我的代码:

private void showDialogForTodayItemClicked(){

// custom dialog
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialog_daily_food_clicked);
dialog.setTitle("Title...");

ImageView imageview = (ImageView) dialog.findViewById(R.id.image_view_dialog_background_today);
imageview.setBackgroundResource(R.drawable.avocados_small);

ColorMatrix matrix = new ColorMatrix();
matrix.setSaturation(0);

ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
imageview.setColorFilter(filter);

dialog.show();

}

以下是对话框的xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:id="@+id/dialog_daily_food_relative_layout"

    >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="#ffffff"></LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#81383838"></LinearLayout>

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/image_view_dialog_background_today"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:textColor="#ffffff"
        android:layout_margin="20dp"
        android:textStyle="bold"
        android:text="MORE INFO"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="DONE"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:textColor="#ffffff"
        android:layout_alignParentRight="true"
        android:textStyle="bold"
        android:layout_margin="20dp"/>




</RelativeLayout>

非常感谢所有人。

1 个答案:

答案 0 :(得分:0)

答案是,当我使用它时,它起作用了:

imageview.setImageResource(currentItem.getImage());

(而不是setBackgroundImage)。