2012-09-14 2 views
1

안드로이드의 테이블에 오브젝트를 배치하는 것에 대한 또 다른 질문이 있지만 스택에서 찾은 것은 아무 것도 없습니다.안드로이드의 테이블 셀에서 ImageView를 정렬 할 수 없다.

아래 XML의 ImageView이 셀에 정렬되도록하고 싶습니다. 내가 시도한 것에 상관없이, 그것은 (항상 중심에 위치한다) 이것을하지 않을 것이다. layout_widthlayout_weight은 그대로 셀의 위치와 크기를 제어하도록 설정됩니다. 그러나 이러한 설정으로 인해 셀에 ImageView을 정렬 할 수 없게 될 수도 있습니다.

android:layout_gravity="left"android:gravity="left"은 ImageView 태그 또는 TableRow 태그에서 작동하지 않았습니다. 일종의 kludgy 솔루션 중 하나는 세 번째 열에 빈 TextView를 추가하여 ImageView를 유지하는 두 번째 열이 정확히 ImageView의 비트 맵 너비가되도록하는 것입니다. 그러나, 특히 다른 행에 다른 너비의 비트 맵이 포함될 수 있으므로이 작업을 수행하지 않아도됩니다.

<TableLayout 
    android:id="@+id/scoreTable" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" > 

    <TableRow 
     android:id="@+id/thisWeek" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" > 

     <TextView 
      android:id="@+id/thisWeekText" 
      android:layout_width="0px" 
      android:layout_height="30dp" 
      android:layout_weight="35" 
      android:gravity="right" 
      android:paddingRight="30px" 
      android:text="@string/thisWeek" 
      android:textStyle="bold" /> 


     <ImageView 
      android:id="@+id/chevron1" 
      android:layout_width="0px" 
      android:layout_height="20dp" 
      android:layout_weight="65" 
      android:layout_marginLeft="0px" 
      android:src="@drawable/doser_scale4a" 
      android:visibility="visible" /> 


    </TableRow> 

답변

0

TextViews에 있던 텍스트의 비트 맵을 사용하여 TextViews를 ImageViews로 바꿨습니다. 이 텍스트는 변경되지 않을 것이기 때문에 저에게는 괜찮 았습니다. 가능한 텍스트의 이미지를 만들고 해당 이미지간에 전환 할 수 있었는지는 짐작할 수 있습니다.

텍스트 대신 비트 맵을 사용하면 메모리가 더 많이 필요하다고 생각하고 텍스트를 비트 맵으로 만드는 데 약간의 시간과 노력이 필요하며 텍스트를 쉽게 변경할 수있는 유연성이 희생된다고 생각하므로 이상적인 솔루션은 아닙니다. 어떤 시점에서 원했지만, TextViews로이 작업을 수행하는 방법을 이해할 수 없었습니다. 안드로이드는 확실히 이런 방식으로 제한되어있는 것 같습니다. 왜냐하면 테이블 셀에서 원하는 방식으로 텍스트를 정렬하는 것이 어렵지 않기 때문입니까?

0

TableRow의 각 "셀"은 뷰이므로, 사용자가 선호하는 중력으로 LinearLayout을 배치하고이 LinearLayour 내부에 이미지를 넣을 수 있습니다.

관련 문제