2014-03-25 4 views
1

StateListDrawable에서 패딩에 문제가 있습니다. 내 스타일 중 일부에서 이미지 리소스가있는 <selector>에 대한 참조를 정의한 경우 내 9 패스 이미지에 맞지 않는 부분이 있습니다. 그건 그렇고, 나는 특별한 이미지를 설정했다. 그러나 그렇지 않으면, 안드로이드는 (내가 소스에 디버거를 사용하여 본대로)는 사용 방법으로 패딩을 얻을 내 <selector> 및 대한 StateListDrawable을 만들 : 잘못된 값을StateListDrawable 패딩

Rect getConstantPadding(); 

을 반환 (제 경우에 null 또는 0이 아니라면). 이 방법을 사용 mVariablePadding 변수 :

if (mVariablePadding) { 
    return null; 
} 

하지만 자원 false를 설정할 수 없습니다가 (어쩌면 내가 뭔가 잘못했다).

누군가이 문제에 대한 해결책을 알고 있습니까? 감사!

답변

0

문제는 9 개 경로 이미지에서 발생했습니다. 선택기의 경우 9 개 경로 드로어 블의 오른쪽 아래 경계 (내용)에서 패딩을 계산합니다. 선택기 android:variablePadding에 변수가 있으며 그 패딩을 계산합니다 (가장 큰 것을 선택하십시오.). 따라서 대부분의 경우 이미지에 패딩이 없더라도 여전히 0이 될 수 없습니다.