2011-01-31 1 views
9

저는 Textview를 기반으로하는 컨트롤처럼 토스트를 만들려고 노력 중이며 배경으로 9 개의 패치 드로어 블을 사용할 수있는 경우 textview의 매우 이상한 동작을 발견했습니다. enter image description here9 패치 배경을 가진 arround textview에 시각적 효과가 없습니다.

이 당김 배경 텍스트 뷰는 다음과 같습니다 :

<by.pplware.view.QuickInfo 
    android:id="@+id/quickinfo" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:padding="20px" 
    android:textSize="20px" 
    android:textStyle="bold" 
    android:typeface="serif" 
    android:background="#FFFF0000" 
/> 

이 색 배경 텍스트 뷰는 다음과 같습니다

는 XML 정의입니다 내가 나인 패치 NinePatch의 경우, 알고있는 것처럼 enter image description here

배경 안드로이드는 패딩을 투명하게 만들고 drawable은 텍스트의 배경으로 만 사용합니다. 하지만 nine 패치 배경으로 덮힌 영역에 패딩을 포함하고 싶습니다.

이 문제에 대한 해결책이 있습니까?

답변

26

이 중 하나를 시도해보십시오

  1. 설정 "안드로이드 : 배경"을 통해 배경 나인 패치 NinePatch 대신 프로그래밍 방식의 XML 속성; 이것은 XML 정의 패딩과 협력합니다.
  2. 배경을 프로그래밍 방식으로 설정해야하는 경우 배경 설정 후 채우기를 다시 설정해보십시오. 채우기를 설정 한 다음 배경을 설정하면 nine 패치 자체에 정의 된 패딩이이를 재정의한다고 가정합니다.
  3. 전체 문제를 피하고 ninepatch 이미지의 패딩 영역을 설정하면됩니다 (오른쪽 및 아래쪽 검은 색 막대).
+1

감사 인사 - 1 및 2 진짜 도움이됩니다. –

+3

3이 가장 좋습니다. – kishu27

+1

9 개의 패치를 설정하기 전에 패딩 값을 저장하고 위의 2 번 패딩을 다시 설정하여이 문제를 해결했습니다. –