2010-04-27 4 views
6

저는 다음과 같이하려고합니다 : http://img202.imageshack.us/img202/552/layoutoy.png. 이 목록 항목으로 (기술적으로 ExpandableListView 그룹보기) 사용하고 있습니다.버튼을 TextView와 겹치지 않고 오른쪽으로 정렬하는 방법은 무엇입니까?

다음은 XML 파일입니다 :

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight"> 

    <TextView 
     android:id="@+id/list_item_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ellipsize="end" /> 

    <Button 
     android:id="@+id/list_item_button" 
     android:text="Click me!" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_toRightOf="@id/list_item_text" /> 

</RelativeLayout> 

하지만이 작동하지 않습니다. 버튼은 내용을 감싸지 않고 모든 사용 가능한 가로 공간을 사용합니다. TextView 으로 내용을 래핑하지만, 내가 원하는 것은 버튼과 겹칠 때 잘리는 것입니다.

즉, textviews의 텍스트 양에 관계없이 모든 버튼이 동일한 너비에 있어야합니다. 이 모든 가능한에서인가?

답변

5

다른 방법으로 시도해야한다고 생각합니다. TextView를 버튼 왼쪽에 놓습니다. 이렇게하면 Textview가 Button과 겹치지 않습니다. 줄 끝 부분에서 잘라내기를 원하면 줄을 하나만 써야합니다. 지금은 나머지 텍스트를 다음 줄로 옮길 것입니다.

트릭을 수행해야합니다 사람이합니다 (RelativeLayout의 사용) 위의 방법을 시도

<Button 
    android:id="@+id/list_item_button" 
    android:text="Click me!" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true"/> 

<TextView 
    android:id="@+id/list_item_text" 
    android:text="veryveryveryveryveryveryveryveryveryverylong" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toLeftOf="@id/list_item_button" 
    android:ellipsize="end" /> 

</RelativeLayout> 
+0

트릭, 건배! – benvd

+0

+1. 좋은 생각! – Tiago

4

하기 전에, 당신이를 위해있는 LinearLayout을 사용해야합니다. 가중치를 올바르게 설정해야합니다. 빈 공간을 차지해야하는 요소의 가중치는 1이고 여백은 fill_parent로 설정되어야하며 최소 크기를 유지해야하는 요소의 너비는 0이어야합니다. wrap_content.

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight"> 
<TextView 
    android:id="@+id/list_item_text" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight=1 
    android:ellipsize="end" /> 

<Button 
    android:id="@+id/list_item_button" 
    android:text="Click me!" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight=0/> 

</LinearLayout> 
관련 문제