2012-03-10 5 views
0

나는 9 개의 패치 이미지를 가지고 있는데, 뷰에서 수직으로 중심에 놓고 수평으로 만 확장하려고합니다.9 개의 패치 이미지를 수평으로 만 확장하는 방법은 무엇입니까?

9 개의 패치 (위의 하나, 아래 하나)에 두 개의 확장 가능 영역을 넣으려고했지만 화면의 밀도에 따라보기가 픽셀 높이가 짝수이고 9 개의 패치가 홀수 인 경우 , 이미지가 약간 끊어집니다.

아이디어가 있으십니까?

감사

답변

5

유효한 구 패치 이미지가, 오른쪽에 그릴 영역을 적어도 하나의 확장 상단에 지역 왼쪽에 하나가 있어야하고 아래 패딩을 지정하기위한, this 살펴보고있다.

9 개의 패치 이미지를 수평으로 만 확장하려면 원하는 높이와 1 픽셀만큼 너비가 좁은 원본 이미지를 준비하고 상단에 점을 그리고 나머지 부분에 점을 그려야합니다. 왼쪽의 확장 가능한 영역은 올바른 9 개의 패치를 만들기위한 것입니다. 이제 이미지를 레이아웃에 넣을 수 있습니다 (레이아웃의 높이를 이미지의 높이로 설정). android:layout_graviy="center_vertical"을 이미지로 설정하면 이미지가 수평으로 확장됩니다.

+0

이미지에 따라 중앙의 한 점이 더 좋은 옵션 일 수 있습니다. –

+0

시도해 보셨습니까? 나는 그것이 가능하다고 생각하지 않는다. 9 패치 이미지의 경우 이미지의 가장자리에만 점을 넣을 수 있습니다. – neevek

+0

혼란에 죄송 합니다만, 사실은 왼쪽 가장자리의 중심에 대해 말하고있었습니다 :) –

0

이미지를 세로로 확장하지 않으려면 다른 이미지를 fill_parent로 유지하면서 9- 패치를 사용하여 직접 이동하지 못하는 이유는 무엇입니까?

1

왼쪽 및 오른쪽면의 디자인을 망가지지 않고 수평으로 확장하고 싶었습니다. 내가 한 것은 이미지의 상단과 하단 모두에 1px (투명)를 추가하는 것이 었습니다. 그 후, 왼쪽에 여분의 패딩을 추가 한 행에 검정색 점을 추가했습니다. 뿐만 아니라 이미지 상단의 확장 가능 영역. 잘합니다 나는 모든 4 개의 다른 밀도 이런 짓을하고 그것을 작동합니다 :) radley's scale and fill의 도움으로

, 난 그냥 왼쪽에 검은 선을 그립니다.

귀하의 게시물에 언급 된대로 수직 중심으로 만들려면 선형 레이아웃의 경우 android:layout_graviy="center_vertical"을 입력하고 관련 레이아웃의 경우 android:layout_centerVertical="true"을 추가하십시오.

도움이 되길 바랍니다.

관련 문제