2013-08-16 3 views
1

4 개의 버튼이있는 레이아웃이 있습니다 (동일한 크기를 얻으려고합니다). 문제는 첫 번째 단추의 텍스트를 줄임표로 표시하지 않기를 바랍니다. 나는 많은 것을 시도했다 : 줄임표 속성을 "none"으로 설정하고, singleLine 속성을 false로 설정하고, 패딩을 자르고, 그 중 아무 것도 작동하지 않았다.안드로이드 버튼의 텍스트는 항상 줄임표가 없습니다

일식 그래픽 레이아웃에서는 모든 것이 잘 보입니다. 그러나 실제 장치에서 시도 할 때 화면의 크기에 관계없이 문제가 발생합니다. 처음에는 패딩 (.xml의 단추에 대한 사용자 지정 배경을 정의하고 그 모양에 패딩을 사용하기 때문에)이라고 생각했습니다. 그러나 그들을 제거하지 않았다.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:gravity="center" 
    android:background="@drawable/gradient_bkg" 
    tools:context=".StartActivity" > 

    <TableLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

    <TableRow android:layout_weight="1.0"> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="15dp" 
     android:gravity="center"> 

     <Button 
      android:id="@+id/random_words" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="15dp" 
      android:layout_weight="1.0" 
      android:background="@drawable/button_sexy" 
      android:text="Random two words" 
      android:drawableLeft="@drawable/drinks"/> 

     <Button 
      android:id="@+id/no_data" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_weight="1.0" 
      android:background="@drawable/button_sexy" 
      android:text="No data" 
      android:drawableLeft="@drawable/body_data" /> 

    </LinearLayout></TableRow> 

    <TableRow android:layout_weight="1"> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="15dp" 
     android:gravity="center" > 

     <Button 
      android:id="@+id/result" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginRight="15dp" 
      android:layout_weight="1" 
      android:background="@drawable/button_sexy" 
      android:text="Result" 
      android:drawableLeft="@drawable/results" /> 

     <Button 
      android:id="@+id/reset" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="15dp" 
      android:layout_weight="1" 
      android:background="@drawable/button_sexy" 
      android:text="Reset" 
      android:drawableLeft="@drawable/reset"/> 
    </LinearLayout> 
    </TableRow> 
    </TableLayout> 

</RelativeLayout> 
+1

레이아웃의 스크린 샷을 표시 할 수 있습니까? – GrIsHu

답변

1

코드가 훌륭하고 완벽합니다. 이전 API에 이상한 Manifest에 Theme.Holo을 추가했기 때문에 표시된 문제는 더 낮은 API에 대해서만 발생합니다.

어쨌든 맞춤 LAF를 사용하고 있으므로 가장 간단한 해결책은 Theme.Holo를 Theme.Black으로 바꾸는 것입니다.

-1

나는 문제가 레이아웃의 많은 수준에 wrap_content의 사용에 관한 생각합니다. 나는 이것이 때때로 개별 항목이 똑똑 해 지도록 시도하고 예상치 못한 방식으로 부정확하게 조정되거나 자동으로 조정되는 것을 보았습니다. match_parent를 대신 사용할 때 올바른 동작을 얻을 수 있는지 테스트하려면 최상위 레이아웃에 버튼을 넣으십시오.

그러나 결국 wrap_content와 match_parent의 조합으로 놀아 보면 많은 시간을 소비 할 수 있습니다. 빠른 방법은 고정 된 크기로 버튼을 설정하는 것이지만, 다른 크기의 화면에서 작동하는지 충분히 확신 할 수있는 크기로 설정하십시오.

관련 문제