How to set image with effect in ImageButton until click

I want to use the selected image to set the button with its effect, before clicking on it, and then click on the effect, it applies the same image to ImageView, but as it is, use the default image, not the selected image .

    imgView = (ImageView) findViewById(R.id.imgView);
    btnSepia = (ImageButton) findViewById(R.id.btnSepia);

    BitmapDrawable abmp = (BitmapDrawable) imgView.getDrawable();
    bmp = abmp.getBitmap();

    mProgress = (ProgressBar) findViewById(R.id.progressBar);
    mProgress.setVisibility(View.INVISIBLE);

    Intent i = new Intent(
            Intent.ACTION_GET_CONTENT,
            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    i.setType("image/");

    startActivityForResult(i, RESULT_LOAD_IMAGE);


    final Drawable resSepia = new BitmapDrawable(getResources(), bmp);
    imgView.setImageDrawable(resSepia);

     Handler handler = new Handler();

    final Runnable r = new Runnable() {
        @Override
        public void run() {
            if (resSepia == null)
                return;
            final ColorMatrix matrixA = new ColorMatrix();
            // making image B&W
            matrixA.setSaturation(0);

            final ColorMatrix matrixB = new ColorMatrix();
            // applying scales for RGB color values
            matrixB.setScale(1f, .95f, .82f, 1.0f);
            matrixA.setConcat(matrixB, matrixA);

            final ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrixA);
            resSepia.setColorFilter(filter);

            btnSepia.setImageDrawable(resSepia);
        }
    };
    handler.postDelayed(r, 1000);

btnSepia.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) { 

            imgView.setImageDrawable(resSepia);

        }
    });

thank();

Sorry for my English, this is not my native language.

+4
source share
1 answer

I can not ask your question, as for what I can describe above, is that you want to change the image to action.

, Selector, , .

, selector.xml ., : <selector> ( selector xml) ,

<selector>
<item 
    android:state="<Give_State_HERE>" 
    android:drawable="<GIVE_Source_of_Your_Drawable_Here"/> 
</selector>

xml img:, ,

0

Source: https://habr.com/ru/post/1655897/


All Articles