2011-03-08 6 views
0

안드로이드 2.1의 비트 맵 객체에 그래디언트를 넣는 방법이 있습니까? 이미지는 다음과 같이해야한다 : 만 비트 맵의 ​​상단에 그라데이션이 필요안드로이드 2.1의 안드로이드 비트 맵 그라데이션

image with gradient

. DrawableGradient 또는 LinearGradient는 Android 2.2에서만 제공되므로 이러한 객체가 전혀 도움이되지 않습니다. 감사합니다

답변

3

XML 또는 코드에서 필요합니까? 코드에서 다음을 시도해보십시오.

/* Create a 200 x 200 bitmap and fill it with black. */ 
    Bitmap b = Bitmap.createBitmap(200, 200, Config.ARGB_8888); 
    Canvas c = new Canvas(b); 
    c.drawColor(Color.BLACK); 

    /* Create your gradient. */ 
    LinearGradient grad = new LinearGradient(0, 0, 0, 50, Color.GRAY, Color.BLACK, TileMode.CLAMP); 

    /* Draw your gradient to the top of your bitmap. */ 
    Paint p = new Paint(); 
    p.setStyle(Style.FILL); 
    p.setShader(grad); 
    c.drawRect(0, 0, 200, 50, p); 

XML에서는 수직 선형 레이아웃에서 두 개의 개별 뷰를 만듭니다. 윗면보기에는 그라데이션 드로어 블 배경이 있어야하고, 아래쪽에는 더 큰보기가 단색 배경이어야합니다.

+0

하지만 내 이미지는 빨간색이나 파란색으로 표시 될 수 있습니다 ... 항상 같은 이미지는 아닙니다 ... –

+0

왜 이미지 색상이 중요합니까? 그래디언트 위에 오버레이를 그냥 겹쳐 보이지 않습니까? – Josh

+0

나는 같은 문제가있다. 그라디언트가 이미지의 내용이어야하며, 이미지 내용을 숨기기 위해 그 위에 검은 색/흰색의 오버레이가 있어야한다는 것이다. 비트 맵을 실제로 한면이 투명하고 다른면이 불투명하게하고 싶습니다. –

관련 문제