2014-06-24 3 views
1

내 목록보기의 사용자 지정 어댑터에서 textview.setShadowLayer(60,0,0, 0xFF303030);을 사용하고 있습니다. 내 응용 프로그램이 4.4.2 버전 이상의 다른 모든 전화에서 제대로 실행 중입니다.setShadowLayer()를 사용할 때 4.4.2에서만 응용 프로그램 충돌이 발생합니다.

처음에는 문제의 실제 원인을 찾을 수 없었습니다. 그런 다음 위의 행에 주석을 달 때마다 내 응용 프로그램이 4.4.2에서 정상적으로 실행 중임을 알았습니다.

위의 코드를 모든 버전에서 사용하는 방법을 찾거나 위의 코드 대신 사용할 수있는 대안을 찾으십시오.

+0

왜 그림자 레이어를 사용하려고합니까 ?? –

+0

@Rod_Algonquin : 텍스트보기 뒷면에 밝은 배경을 설정합니다. http://android-er.blogspot.in/2011/06/set-shadow-of-textview-in-java-code.html –

+1

다음 링크를 참조하십시오. http : // stackoverflow .com/a/17414651/3640637 – PedroHawk

답변

4

PedroHawk의 의견은이 문제에 대한 해결책을 찾는데 도움이되었습니다. 바로 위의 코드를 추가하는 동안,

textview.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
textview.setShadowLayer(60,0,0, 0xFF303030); 

2.3 장치에서 충돌 발생 :

내가 문제를 해결하는 방법입니다. 그럼 이런 식으로해야했다 :

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) 
{ 
    textview.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
} 
textview.setShadowLayer(5,0,0, 0xFF303030); 

위의 코드는이 (내가 2.3.3, 4.0.4, 4.4.2로 테스트 한) 모든 버전에서 제대로 작동했다.

+0

나는 이것에 2 시간을 낭비했다. 고맙습니다 :) – pblead26

관련 문제