내 코드에서 레이아웃의 배경색을 찾고 싶습니다. 그것을 찾을 수있는 방법이 있습니까? linearLayout.getBackgroundColor()
과 같은 무엇입니까?레이아웃 배경색 얻기
답변
배경이 단색이면 API 11 이상에서만 가능합니다.
int color = Color.TRANSPARENT;
Drawable background = view.getBackground();
if (background instanceof ColorDrawable)
color = ((ColorDrawable) background).getColor();
난 그냥 내 대답을 편집하고 구체적으로 그 일할 수도 말할거야! 그러나 API 11+ 제한이있는 이유는 확실하지 않습니다. 'ColorDrawable'은 API 1 이후에 사용 가능하고, view.getBackground()도 가능합니다. –
Nevermind. ColorDrawable의'.getColor'가 API 11에 추가 된 것을 볼 수 있습니다. –
'Drawable'을'Bitmap'으로 변환하여 첫 번째 픽셀을 얻을 수 있습니다. 'int color = bitmap.getPixel (0, 0);' –
ColorDrawable.getColor는()는 11 위의 API 레벨 함께 작동합니다, 그래서 당신은 API 수준에서 API 레벨 이하 1. 반사를 지원하기 위해이 코드를 사용할 수 있습니다 (11)
public static int getBackgroundColor(View view) {
Drawable drawable = view.getBackground();
if (drawable instanceof ColorDrawable) {
ColorDrawable colorDrawable = (ColorDrawable) drawable;
if (Build.VERSION.SDK_INT >= 11) {
return colorDrawable.getColor();
}
try {
Field field = colorDrawable.getClass().getDeclaredField("mState");
field.setAccessible(true);
Object object = field.get(colorDrawable);
field = object.getClass().getDeclaredField("mUseColor");
field.setAccessible(true);
return field.getInt(object);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return 0;
}
으로 레이아웃의 배경색을 얻으십시오 :
RelativeLayout 인 경우 ID를 찾고 LinearLayout 대신 객체를 사용하십시오
이 작업을 수행하는 가장 간단한 방법은 다음과 같습니다
view.getSolidColor();
짧고 간단한 방법 : 배경 색상을 변경 될 수 있으므로
int color = ((ColorDrawable)view.getBackground()).getColor();
- 1. 안드로이드 레이아웃 배경색 변경
- 2. .ui- 레이아웃 - 북쪽 배경색
- 3. 레이아웃 배경색 설정
- 4. GtkEntry의 배경색 얻기
- 5. ImageView의 배경색 얻기
- 6. Android : 레이아웃 외부에서 배경색 변경
- 7. 사용자 정의 ImageView의 배경색 얻기
- 8. 잘못된 레이아웃 얻기
- 9. 보기의 레이아웃 정보 얻기
- 10. 목록보기 레이아웃 배경색 깜박임이 이미지로드에서 사라집니다?
- 11. 상대 레이아웃 변경 스레드를 사용하여 배경색 변경
- 12. PDF 파일의 특정 텍스트 배경색 얻기
- 13. jquery를 사용하여 x, y 좌표의 배경색 얻기
- 14. 뷰 컨트롤러의 원래 레이아웃 얻기
- 15. 배경색 또는 배경색?
- 16. 배경색 위에 배경색
- 17. 배경색 사용자 정의 배경색
- 18. 배경색
- 19. 백본보기처럼 렌더링 할 마리오네트 레이아웃 얻기
- 20. 안드로이드 레이아웃 매개 변수 'MATCH_PARENT'실제 값 얻기
- 21. HTML 2 열 레이아웃 - 최상위 컨테이너에 배경색 적용
- 22. 유체 격자 레이아웃 내부 전체 너비 div 배경색
- 23. Admob 배경색
- 24. 배경색 및 글꼴 크기와 같은 대상 플랫폼 속성 얻기
- 25. 플렉스 영웅 모바일 배경색 배경색
- 26. iPad 설정 앱 배경색
- 27. 매트릭스 테이블의 배경색
- 28. EditText 문제의 배경색 변경
- 29. 목록 항목의 배경색 설정
- 30. CSS - 이미지 배경색
, 당신은 어떤을 줄 것이다 linearLayout.getBackground()를 사용할 수 있습니다 너는'Drawable'. 특별히 배경색을 얻는 API는 없습니다. [View 용 문서에서 더 많은 내용보기] (http://developer.android.com/reference/android/view/View.html#getBackground%28%29) –
하지만 레이아웃의 색상을 찾아야합니다. 다른 방법이 있어야합니다! 또는 Drawable에서 가져올 수 있습니까? –