2011-03-11 4 views
0

우선, 나는 안드로이드 UI가 실망스런 경험이 될 것이라고 생각한다. 나는 XML 레이아웃이 단순하고 깨끗하고 멋지다고 생각했지만, 그걸로 무엇이든 만들려고 할 때마다 나는 간단한 일을하려고 몇 시간을 보낸다.이미지 버튼의 크기를 Android에서 이해하려면 어떻게해야합니까?

이 특정 인스턴스에서 오른쪽의 고정 된 크기의 이미지 단추가 들어있는 간단한 가로 막대를 만들려고합니다. 왼쪽의 사용 가능한 나머지 너비를 차지하는 ImageView가 필요합니다. UI에서 비슷한 구조를 항상 볼 수 있습니다. 검색 할 때 화면 상단에 나타나는 검색 상자, 텍스트 영역 및 텍스트/googletalk 메시지 작성을위한 보내기 버튼 등이 표시됩니다.

가로형 선형 레이아웃과 상대 레이아웃을 비교할 수 없으며 버튼 중 하나를 올바르게 볼 수 없습니다.

그것은 다음과 같습니다 : 내 최신 시도는 다음과 같은 레이아웃 코드가있는 hiearchyviewer를 사용

Screnshot

이 표시를 그 이미지 뷰와 버튼을 모두 동일한 높이 (45px)를가집니다. 그리고 뷰 치수와 위치가 내가 원하는 것을 정확하게 보여줍니다. 동일한 높이 (ImageView가 훨씬 넓어지기 때문에 폭이 다름). 그리고 그들은 상대 레이아웃을 중심으로 서로 옆에 맞 춥니 다. 그러나 화면에 그려진 버튼은 분명히 전체 ImageButton보기를 차지하지 않습니다. 나는 그것이 ImageButton 배경에 사용 된 안드로이드 시스템 9patch drawable에 대해 이상한 것이라고 생각합니다. 하지만 내가 뭘 알아? 나는 내가 뭘하려고 하든지 똑바로 보이게 할 수는 없다.

답변

0

어떻게 RelativeLayout을 설정 했습니까? 다음과 같이 설정하십시오.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content"> 
    <ImageButton android:layout_width="wrap_content" android:src="@drawable/icon" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:id="@+id/imgButton"></ImageButton> 
    <ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:src="@drawable/red_button" android:scaleType="fitXY" android:layout_alignBottom="@+id/imgButton" android:layout_alignTop="@+id/imgButton" android:layout_toLeftOf="@+id/imgButton"></ImageView>   
</RelativeLayout> 

희망이 있습니다.

+0

레이아웃을 사용하면 앞에서 설명한 계층 뷰어의 뷰에 대한 적절한 크기와 위치를 얻을 수 있지만 장치에서 볼 때 올바른 크기가 표시되지 않습니다. 이후 버튼 배경을위한 9 패치 드로어 블을 만들겠다고 결심했습니다. 시스템 9 패치 버튼 드로어 블은 이미지 자체의 바닥에 약간의 패딩이있는 것으로 보입니다. – rushinge

0

크기가 정확히 원하는 경우 ImageButton 및 ImageView에서 android : scaleType = "fitXY"를 사용하고 확인하십시오.

단순한 경우, 적절한 방향으로 두 개의 버튼이있는 가로 방향의 선형 배치를 사용할 수 있습니다.

+0

당신은 그렇게 생각하지 않을 것입니다. 저는 버튼 배경을 적당한 크기로 만들었지 만 ImageButton에서 이미지를 가운데로 가져올 수는 없으며 항상 맨 위에 나타납니다. 나는 fitXY를 시도했으나 여전히 중심에 있지 않습니다. – rushinge

관련 문제