투명 오버레이를 만들기 위해 지배적 인 배경색을 추출 할 수있는 Android 용 API가있어 텍스트 위에 글을 쓸 수 있습니다.배경색을 추출하기위한 머티리얼 디자인 API
예를 들어 4 개의 이미지의 지배적 인 색이 갈색 인 경우 오버레이는 투명 한 갈색입니다.
다음 사진과 같은 것을 만들어 사진 위에 정보를 추가하려고합니다. Google Play 뮤직에서 가져 왔습니다.
는투명 오버레이를 만들기 위해 지배적 인 배경색을 추출 할 수있는 Android 용 API가있어 텍스트 위에 글을 쓸 수 있습니다.배경색을 추출하기위한 머티리얼 디자인 API
예를 들어 4 개의 이미지의 지배적 인 색이 갈색 인 경우 오버레이는 투명 한 갈색입니다.
다음 사진과 같은 것을 만들어 사진 위에 정보를 추가하려고합니다. Google Play 뮤직에서 가져 왔습니다.
는해결책이있을 수 있습니다 :
Bitmap bitmap = view.getDrawingCache();
: 나는 당신이
RelativeLayout view = (RelativeLayout) findViewById(R.id.parentLyt);
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
는 이제 4 개 이미지의 비트 맵을 얻을 수 RelativeLayout의 (라고 parentLyt) 4 이미지 뷰를 넣어 가정
그리고이 비트 맵 위에 Palette API를 사용하십시오 :
Palette colorPalette = Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() {
public void onGenerated(Palette palette) {
int color = palette.getLightVibrantSwatch().getRgb();
// Do something with colors...just for example :
// Convert to hex format and add 88 alpha channel "#88RRGGBB"
String transparentColor = String.format("#88%06X", 0xFFFFFF & intColor);
// Convert back to Color object aka int
int finalColor = Color.parseColor(transparentColor);
}
});
당신은 투명성을 달성하기 위해 알파를 사용할 수 있습니다 감사합니다. 따라서 색상을 정의 할 때는 일반적으로 #RRGGBB (빨강 녹색 파랑)을 사용하지만 #AARRGGBB를 사용하여 알파를 지정할 수도 있습니다.
#00RRGGBB
은 완전히 투명하고 #80RRGGBB
은 반투명과 같습니다. 그런 색상을 선택하여 배경으로 사용할 수 있습니다.
새로운 [Palette API] (https://developer.android.com/reference/android/support/v7/graphics/Palette.html) 및 [there] (https://developer.android .com/training/material/drawables.html # ColorExtract)이 API의 요약입니다. –
감사합니다. 그게 정확히 내가 뭘 찾고 있었는지 :) – wheeliez
당신이 당신의 PB를 해결하기 위해 그것을 사용할 수있는 간단한 예제입니다 답변을 만듭니다;) –