2014-02-08 2 views
0

5 인치 스마트 폰에서 내 앱을 개발 했으므로 이제는 더 작은 화면에 문제가 있습니다. HTC 산불로 테스트 한 결과, 마지막 두 행은 표시되지 않았습니다. 모든 것은 6 개의 행과 4 개의 열이있는 테이블입니다. 모든 필드에 하나의 버튼이 있습니다. 모든 단추는 한 화면에 있어야하며 (스크롤 할 수 없음) 모든 화면에서 단추가 충분히 커야합니다.작은 화면에 모든 TableRow 표시

저는 dp를 사용하여 모든 것을 개발했으며 그 때문에 왜 지금이 문제가 있는지 알지 못합니다.

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 

    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/bg" 
    tools:context=".MainActivity"> 


    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="wrap_content" 
     android:layout_height="22dp" > 

     <Button 
     android:id="@+id/button1" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:background="@drawable/willi" 
     /> 

    <Button 
     android:id="@+id/button2" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="70dp" 


     android:background="@drawable/willi" 
     /> 


    <Button 
     android:id="@+id/button3" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
    android:layout_marginLeft="140dp" 
     android:background="@drawable/willi" 
/> 


    <Button 
     android:id="@+id/button4" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
    android:layout_marginLeft="210dp" 

     android:background="@drawable/willi" 
     /> 


    </TableRow> 


    <TableRow 
     android:id="@+id/tableRow2" 
     android:layout_width="wrap_content" 
     android:layout_height="22dp" 
     android:layout_marginTop="90dp"> 



     <Button 
     android:id="@+id/button5" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 

     android:background="@drawable/willi" 
     /> 

    <Button 
     android:id="@+id/button6" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="70dp" 
     android:background="@drawable/willi" 
    /> 

    <Button 
     android:id="@+id/button7" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="140dp" 
     android:background="@drawable/willi" 
     /> 

    <Button 
     android:id="@+id/button8" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="210dp" 
     android:background="@drawable/willi" 
     /> 

     </TableRow> 
     <TableRow 
     android:id="@+id/tableRow3" 
     android:layout_width="wrap_content" 
     android:layout_height="22dp" 
     android:layout_marginTop="90dp" > 


     <Button 
     android:id="@+id/button9" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 

     android:background="@drawable/willi" /> 
    <Button 

     android:id="@+id/button10" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="70dp" 
     android:background="@drawable/willi" /> 

    <Button 
     android:id="@+id/button11" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="140dp" 
     android:background="@drawable/willi" /> 

    <Button 
     android:id="@+id/button12" 
     android:layout_marginLeft="210dp" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 

     android:background="@drawable/willi" /> 

    </TableRow> 



       <TableRow 
     android:id="@+id/tableRow4" 
     android:layout_width="wrap_content" 
     android:layout_height="22dp" 
     android:layout_marginTop="90dp" > 


     <Button 
     android:id="@+id/button13" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:background="@drawable/willi" /> 
    <Button 

     android:id="@+id/button14" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="70dp" 
     android:background="@drawable/willi" /> 

    <Button 
     android:id="@+id/button15" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="140dp" 
     android:background="@drawable/willi" /> 

    <Button 
     android:id="@+id/button16" 
     android:layout_marginLeft="210dp" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 

     android:background="@drawable/willi" /> 

    </TableRow> 

     <TableRow 
     android:id="@+id/tableRow5" 
     android:layout_width="50dp" 
     android:layout_height="22dp" 
     android:layout_marginTop="90dp" > 


     <Button 
     android:id="@+id/button17" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 

     android:background="@drawable/willi" /> 
    <Button 

     android:id="@+id/button18" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="70dp" 
     android:background="@drawable/willi" /> 

    <Button 
     android:id="@+id/button19" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="140dp" 
     android:background="@drawable/willi" /> 

    <Button 
     android:id="@+id/button20" 
     android:layout_marginLeft="210dp" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:background="@drawable/willi" /> 

    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow6" 
     android:layout_width="wrap_content" 
     android:layout_height="22dp" 
     android:layout_marginTop="90dp" > 


     <Button 
     android:id="@+id/button21" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 

     android:background="@drawable/willi" /> 
    <Button 

     android:id="@+id/button22" 
       android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="70dp" 
     android:background="@drawable/willi" /> 

    <Button 
     android:id="@+id/button23" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_marginLeft="140dp" 
     android:background="@drawable/willi" /> 

    <Button 
     android:id="@+id/button24" 
     android:layout_marginLeft="210dp" 
      android:layout_width="40dp" 
     android:layout_height="40dp" 

     android:background="@drawable/willi" /> 

    <TextView 
     android:id="@+id/tvPunktewaehrend" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:textStyle="bold" 
     android:layout_gravity="center_horizontal" 
     android:textColor="@color/white" 
     android:textSize="20sp" 
     android:text=" " /> 


    </TableRow> 

    </TableLayout> 

내가 잘못 뭐하는 거지 : 여기 내 XML인가?

+0

너비와 높이에 DB를 사용하지 마십시오. 같은 시간에 랩하는 것도 위험합니다. 모든 버튼에 대해 fill_parent와 함께 db의 모든 높이를 – Amsheer

+0

으로 바꿉니 까? fill_parent는 정확히 무엇을합니까? 그렇게하면 버튼이 내가 생각하는 모든 화면에있는 것처럼 크게 표시됩니다. – user896692

+0

물론 모든 테이블 행에 대해 fill_parent를 설정 한 다음 테이블 레이아웃 높이를 match_parent로 설정하므로 모든 화면에 대해 페이지가 설정됩니다. – Amsheer

답변

1

여러 화면 크기를 타겟팅하는 경우 고정 너비를 사용할 수 없습니다. TableLayout의 컬럼 스트레칭 기능을 사용하여 TableRow에있는 각보기의 열 너비를 동적으로 조정해야합니다.

+0

TableLayout의 열 스트레칭 기능은 무엇을 의미합니까? 처음으로 사용하고 있습니다. 예를 들어 주시겠습니까? – user896692

+0

좋은 예입니다. http://stackoverflow.com/questions/1666685/android-stretch-columns-evenly-in-a-tablelayout. –

+0

layout_width 및 layout_weight 속성 대신이 값을 사용합니까? – user896692