2012-01-04 2 views
3

레이아웃에 ImageView가 있습니다. Layaout 배경이 흰색 (@android : color/white)이고 ImageView에 * .png 그림이 있습니다. 그러나이 그림의 흰색은 레이아웃에서와 같이 흰색이 아니며 작은 회색입니다. a http://desmond.imageshack.us/Himg513/scaled.php?server=513&filename=1325684647707.jpg&res=medium 파일의 형식, 색 농도 등을 변경하려고 시도했지만 도움이되지 않습니다. 그런 다음 manifest에서 minSdkVersion을 제거하고 문제를 해결합니다. 하지만 실제로이 태그가 필요합니다. 아무도 그림의 형식이나 내가 그것을 고치기 위해 바꿔야하는 어떤 생각을 가지고 있습니까?minSdkVersion = "10"이면 Android 화이트 이미지가 흰색이 아닙니다.

고맙습니다. 기본 흰색을 사용하는 대신

답변

-1

입니다. @color/white" 예에 의해 RES-> 값에 따라

<?xml version="1.0" encoding="utf-8"?> 
<resources><color name="white">#ffffff</color> </resources> 

사용하면 XML이 흰색을 colors.xml를 작성하면 XML에 흰색을 재정의하고 같은

를 사용 android:background="@color/white"

+0

이것은 문제가되지 않습니다. @android : color/white는 실제 흰색입니다. 문제는 흰색 배경의 그림이 회색으로 표시된다는 것입니다 (스크린 샷에서 볼 수있는 것처럼) – obrien

1

내가 대답 가지고 유사한 질문 : Image does not show completely white despite it's correctly white 복사 :

문제의 원인은 APK 파일의 원래 비트 맵 형식에 관계없이 모든 비트 맵이 압축되어 있습니다 (내 경우 색인 된 256 색으로 변환! wtf).

나는 그것을 방지 할 수있는 방법을 찾을 수 없으므로 누군가가 적절한 해결책을 알고 있다면 알려주십시오.

그러나 화이트 색상 문제에 대한 두 가지 해결책을 찾았습니다.

1) 비트 맵 : 우리는 문제를 일으키는 드로어 블 비트 맵 리소스가 @drawable/mypng입니다. 우리는 추가 XML 당김 드로어 블/사진 mypng_nofilter.xml

<?xml version="1.0" encoding="utf-8"?> 
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/mypng" 
    android:filter="false" 
/> 

를 추가하고 대신 @drawable/mypng_nofilter를 사용해야합니다.

전체 활동에 대한

2) : 활동에서에서 onCreate 방법은 우리가

getWindow().setFormat(PixelFormat.RGB_565); 

지금 윈도우가 16 비트 컬러 깊이 추가 할 필요가 모든 비트 맵은 "제대로"흰색 나타납니다.

다시 말하지만, 32 비트 색상 깊이를 선호하지만 컴파일 타임 이미지 압축을 제어하는 ​​방법을 알지 못합니다.

관련 문제