2015-02-06 1 views
0

다음과 같은 효과를 얻고 싶습니다. 내 화면에 이미지가 있습니다. 내비게이션 서랍 (또는 다른 방해물이있는 화면)이 내 이미지 위에 오면, 나는 그 이미지를 감추고 대신 이미지의 네거티브를 보여주고 싶습니다.보기 부분의 불투명도 변경하기

아래 그림은 내 뜻을 나타내는 데 도움이 될 수 있습니다.

state0state1state2

이 작업을 수행하는 방법에 어떤 아이디어? 메뉴 아이콘에 대해 동일한 효과를 얻고 싶습니다.

답변

1

나는 이것에 대해 갈 것이라고하는 방법은 다음과 같습니다

  1. 당신이 부정적인 적용 할 뷰 도면 캐시 사용 :

    view.setDrawingCacheEnabled (true)를;

  2. 서랍 클릭하거나 함께 끌 때 뷰의 스냅 샷을 가져 오기 :

    비트 맵 BMP = view.getDrawingCache();

  3. 마지막으로 서랍의 onDraw() 메서드를 재정의하고 비트 맵을 그립니다. 셰이더를 적용하여 "부정적인"효과를냅니다. 참조 : http://chiuki.github.io/android-shaders-filters/#/

-1
canvas.drawColor(Color.WHITE); 
BitmapDrawable bd = (BitmapDrawable) getResources().getDrawable(R.drawable.your_drawable);  
Bitmap bm = bd.getBitmap(); 

Paint paint = new Paint();  
Where the INT ranges from 0 (fully transparent) to 255 (fully opaque). 
paint.setAlpha(0);  

canvas.drawBitmap(bm, 0, 0, paint); 
+0

이 효과는 단지 투명성을 사용하여 생성 할 수 없습니다. – corsair992