2011-10-08 3 views
0

저는 Sudoku 게임을 개발 중이며 textViews 높이에 문제가 있습니다. 어떤 스도쿠에서도 사용자는 숫자를 입력하거나 힌트를 지정할 수 있습니다. 숫자는 Fontsize 14에서 잘 작동하지만 힌트 글꼴 크기를 7 (dip 또는 sp)로 변경하면 글꼴 크기가 6이고 텍스트 줄이 1 개인 경우에도 많은 공백이 있지만 textView 높이가 증가합니다). textsize에 관계없이 textView 높이를 수정하려면 어떻게합니까?글꼴 크기를 줄이면 TextView 높이가 증가합니다

<TableLayout android:id="@+id/tableLayout1" 
    android:layout_marginTop="5dip" android:layout_gravity="center_horizontal" android:layout_height="wrap_content" android:layout_width="wrap_content"> 
    <TableRow android:layout_width="wrap_content" android:id="@+id/TableRow01" android:layout_height="wrap_content"> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:text="1" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV00" android:clickable="true" 
      android:layout_height="fill_parent" android:height="34dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:digits="@string/inpt" android:width="30dip" android:text="2" 
      android:drawableTop="@drawable/line_h" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV01" android:clickable="true" 
      android:layout_height="fill_parent" android:height="34dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:text="2" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV02" android:clickable="true" 
      android:layout_height="fill_parent" android:height="34dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:text="1" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV03" android:paddingLeft="1dip" android:clickable="true" 
      android:layout_height="fill_parent" android:height="34dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:digits="@string/inpt" android:width="30dip" android:text="2" 
      android:drawableTop="@drawable/line_h" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV04" android:clickable="true" 
      android:height="34dip" android:layout_height="fill_parent"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:text="2" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV05" android:clickable="true" 
      android:layout_height="fill_parent" android:height="34dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:text="1" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV06" android:paddingLeft="1dip" android:clickable="true" 
      android:layout_height="fill_parent" android:height="34dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:digits="@string/inpt" android:width="30dip" android:text="2" 
      android:drawableTop="@drawable/line_h" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV07" android:clickable="true" 
      android:layout_height="fill_parent" android:height="34dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV08" android:clickable="true" 
      android:layout_height="fill_parent" android:height="34dip" android:text="1 2 3"></TextView> 
    </TableRow> 
    <TableRow android:layout_width="wrap_content" android:id="@+id/TableRow02" 
     android:layout_height="wrap_content"> 
     <TextView android:typeface="monospace" android:drawableRight="@drawable/line_v" 
      android:digits="@string/inpt" android:width="32dip" android:text="1" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV10" android:clickable="true" 
      android:layout_height="fill_parent" android:height="32dip"></TextView> 
     <TextView android:typeface="monospace" android:digits="@string/inpt" android:width="30dip" 
      android:text="2" android:gravity="center" android:layout_width="fill_parent" 
      android:textColor="@android:color/black" android:id="@+id/TV11" 
      android:clickable="true" android:layout_height="fill_parent" 
      android:height="32dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableRight="@drawable/line_v" 
      android:digits="@string/inpt" android:width="32dip" android:text="2" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV12" android:clickable="true" 
      android:layout_height="fill_parent" android:height="32dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableRight="@drawable/line_v" 
      android:digits="@string/inpt" android:width="32dip" android:text="1" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV13" android:paddingLeft="1dip" android:clickable="true" 
      android:layout_height="fill_parent" android:height="32dip"></TextView> 
     <TextView android:typeface="monospace" android:digits="@string/inpt" android:width="30dip" 
      android:text="2" android:gravity="center" android:layout_width="fill_parent" 
      android:textColor="@android:color/black" android:id="@+id/TV14" 
      android:clickable="true" android:layout_height="fill_parent" 
      android:height="32dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableRight="@drawable/line_v" 
      android:digits="@string/inpt" android:width="34dip" android:text="2" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV15" android:clickable="true" 
      android:layout_height="fill_parent" android:height="32dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableRight="@drawable/line_v" 
      android:digits="@string/inpt" android:width="34dip" android:text="1" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV16" android:paddingLeft="1dip" android:clickable="true" 
      android:layout_height="fill_parent" android:height="32dip"></TextView> 
     <TextView android:typeface="monospace" android:digits="@string/inpt" android:width="30dip" 
      android:text="2" android:gravity="center" android:layout_width="fill_parent" 
      android:textColor="@android:color/black" android:id="@+id/TV17" 
      android:clickable="true" android:layout_height="fill_parent" 
      android:height="32dip"></TextView> 
     <TextView android:typeface="monospace" android:drawableRight="@drawable/line_v" 
      android:digits="@string/inpt" android:width="34dip" android:text="2" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV18" android:clickable="true" 
      android:layout_height="fill_parent" android:height="32dip"></TextView> 
    </TableRow> 
+0

당신이 크기 14, 크기 7 글꼴로 표시되는 내용의 스크린 샷을 게시 할 수 있습니까? – slayton

+0

@slayton : 죄송합니다. stackoverflow를 처음 사용하고 아직 이미지를 게시 할 수 없습니다. 그러나 런타임에 또는 레이아웃 뷰어에서 textSize를 변경하면 전체 행의 높이가 증가합니다. –

+0

Tableview 대신 Gridview 사용을 고려하십시오. – slayton

답변

0

내가있는 gridview 내 코드 & 디자인을 다시 할 필요없이 내 질문에 대한 해결책을 발견 (귀하의 제안에 대한 감사 slayton을하지만 쉽게 해결 방법을 발견) : 여기

는 레이아웃 부분입니다.

나는 textviews 속성으로 놀고 난 후에 완전히 이해하지 못한다. 나는 한 textview의 textsize를 7 (또는 실제로 다른 값)로 변경할 때 layoutheight를 Fill_Parent로 변경해야한다는 것을 알았다. 레이아웃 높이 Wrap_Content로 크기 14의 행에있는 모든 textViews를 유지하십시오. 나는 프로그래밍 방식으로 이것을한다. 새로운 레이아웃은

<TableLayout android:id="@+id/tableLayout1" 
    android:layout_marginTop="5dip" android:layout_gravity="center_horizontal" android:layout_height="wrap_content" android:layout_width="wrap_content"> 
    <TableRow android:layout_width="fill_parent" android:id="@+id/TableRow01" android:layout_height="wrap_content"> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:text="1" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV00" android:clickable="true" 
      android:height="34dip" android:layout_height="wrap_content"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:digits="@string/inpt" android:width="30dip" android:text="2" 
      android:drawableTop="@drawable/line_h" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV01" android:clickable="true" 
      android:height="34dip" android:layout_height="wrap_content"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:text="2" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV02" android:clickable="true" 
      android:height="34dip" android:layout_height="wrap_content"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:text="1" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV03" android:paddingLeft="1dip" android:clickable="true" 
      android:height="34dip" android:layout_height="wrap_content"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:digits="@string/inpt" android:width="30dip" android:text="2" 
      android:drawableTop="@drawable/line_h" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV04" android:clickable="true" 
      android:height="34dip" android:layout_height="wrap_content"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:text="2" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:layout_width="fill_parent" android:textColor="@android:color/black" 
      android:id="@+id/TV05" android:clickable="true" 
      android:height="34dip" android:layout_height="wrap_content"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:text="1" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:gravity="center" 
      android:textColor="@android:color/black" 
      android:id="@+id/TV06" android:paddingLeft="1dip" android:clickable="true" 
      android:height="34dip" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:digits="@string/inpt" android:width="30dip" android:drawableTop="@drawable/line_h" android:textColor="@android:color/black" 
      android:id="@+id/TV07" android:clickable="true" 
      android:height="34dip" android:layout_width="fill_parent" android:maxHeight="34dip" android:maxWidth="30dip" android:gravity="center" android:text="2" android:layout_height="wrap_content"></TextView> 
     <TextView android:typeface="monospace" android:drawableBottom="@drawable/line_h" 
      android:drawableRight="@drawable/line_v" android:digits="@string/inpt" 
      android:width="34dip" android:drawableTop="@drawable/line_h" 
      android:drawableLeft="@drawable/line_v" android:textColor="@android:color/black" 
      android:id="@+id/TV08" android:clickable="true" 
      android:height="34dip" android:maxHeight="34dip" android:layout_width="fill_parent" android:gravity="center" android:text="2" android:layout_height="wrap_content"></TextView> 
    </TableRow> 

내가 함께 layoutheight 크기 &를 변경하는 코드를 사용

tv.setTextSize(7); 
tv.setLayoutParams(new TableRow.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 


    tv.setTextSize(14); 
tv.setLayoutParams(new TableRow.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
관련 문제