9

건물 (계산기)입니다. 내부에 버튼이있는 테이블 레이아웃을 사용합니다. 그것은 삼성 갤럭시 II의 화면에 완벽하게 보이지만, 그것은 더 큰 화면에서 매우 나빠 보인다. 버튼 높이는 매우 작습니다. 더 큰 화면에서 버튼을 어떻게 늘릴 수 있습니까? Android 응답 레이아웃

레이아웃 XML

는 우는 소리입니다 :

<ScrollView xmlns:android="http://schemas.an 
    xmlns:tools="http://schemas.android.com/ 
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:gravity="right"     
    android:paddingBottom="@dimen/activity_v 
    android:paddingLeft="@dimen/activity_hor 
    android:paddingRight="@dimen/activity_ho 
    android:paddingTop="@dimen/activity_vert 
    tools:context=".MainActivity" >   


<TableLayout         
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:gravity="right"     
    >          



    <TableRow        
     android:id="@+id/tableRow1"   
     android:layout_width="match_parent" 
     android:layout_height="0dp">   

     <Button        
      android:id="@+id/Button01"  
      android:layout_width="0dp"  
      android:layout_weight="0.33"  
      android:layout_height="fill_pare 
      android:text="@string/button_1" 
      android:visibility="visible" /> 

     <Button        
      android:id="@+id/Button02"  
      android:layout_width="0dp"  
      android:layout_weight="0.34"  
      android:layout_height="fill_pare 
      android:text="@string/button_2" 

     <Button        
      android:id="@+id/Button03"  
      android:layout_width="0dp"  
      android:layout_weight="0.33"  
      android:layout_height="fill_pare 
      android:text="@string/button_3" 

    </TableRow>        

    <TableRow        
     android:id="@+id/tableRow2"   
     android:layout_width="match_parent" 
     android:layout_height="0dp" >  

    <Button         
     android:id="@+id/Button04"   
     android:layout_width="0dp"   
      android:layout_weight="0.33"  
     android:layout_height="fill_parent" 
     android:text="@string/button_4" /> 

    <Button         
     android:id="@+id/Button05"   
     android:layout_width="0dp"   
     android:layout_weight="0.34"   
     android:layout_height="fill_parent" 
     android:text="@string/button_5" /> 

    <Button         
     android:id="@+id/Button06"   
     android:layout_width="0dp"   
     android:layout_weight="0.33"   
     android:layout_height="fill_parent" 
     android:text="@string/button_6" /> 

    </TableRow>        

    <TableRow        
     android:id="@+id/tableRow3"   
     android:layout_width="match_parent" 
     android:layout_height="0dp" >  

     <Button        
      android:id="@+id/Button07"  
      android:layout_width="0dp"  
      android:layout_weight="0.33"  
      android:layout_height="fill_pare 
      android:text="@string/button_7" 

     <Button        
      android:id="@+id/Button08"  
      android:layout_width="0dp"  
      android:layout_weight="0.34"  
      android:layout_height="fill_pare 
      android:text="@string/button_8" 

     <Button        
      android:id="@+id/Button09"  
      android:layout_width="0dp"  
      android:layout_weight="0.33"  
      android:layout_height="fill_pare 
      android:text="@string/button_9" 

    </TableRow>        

    <TableRow        
     android:id="@+id/tableRow4"   
     android:layout_width="match_parent" 
     android:layout_height="0dp" >  

     <Button        
      android:id="@+id/ButtonUndo"  
      android:layout_width="0dp"  
      android:layout_weight="0.33"  
      android:layout_height="fill_pare 
      android:text="@string/button_und 

     <Button        
      android:id="@+id/Button00"  
      android:layout_width="0dp"  
      android:layout_weight="0.34"  
      android:layout_height="fill_pare 
      android:text="@string/button_0" 

     <Button        
      android:id="@+id/ButtonCheck" 
      android:layout_width="0dp"  
      android:layout_weight="0.33"  
      android:layout_height="fill_pare 
      android:text="@string/button_che 

    </TableRow>        

    <TableRow        
     android:id="@+id/ResTable"   
     android:layout_width="match_parent" 
     android:layout_height="0dp" >  

     <TableLayout       
      android:layout_weight="0.3"  
      android:id="@+id/table_score_cor 

      <TableRow       
       android:id="@+id/tableRow5_11" 
       android:layout_width="wrap_conte 
       android:layout_height="fill_pare 
       android:gravity="center_vertical 
        <TextView      
        android:id="@+id/labelCorrec 
        android:layout_width="wrap_c 
        android:layout_height="fill_ 
        android:ems="4"    
        android:text="@string/correc 
        android:gravity="center_vertic 
        android:textSize="15sp" />  
       </TableRow>     

      <TableRow       
       android:id="@+id/tableRow5_12" 
       android:layout_width="wrap_conte 
       android:layout_height="0dp" > 

       <TextView      
        android:id="@+id/scoreCorr 
        android:layout_width="0dp" 
        android:layout_height="fil 
        android:ems="4"   
        android:gravity="center_ve 
        android:text=""   
        android:textSize="30sp" 
        android:textStyle="bold"/
      </TableRow>      
     </TableLayout>      

     <ImageView        
      android:id="@+id/imageView1"  
      android:layout_width="wrap_content 
      android:layout_height="fill_parent 
      android:layout_weight="0.3"  
      android:contentDescription="@strin 
      android:fitsSystemWindows="true" 
      android:scaleType="fitCenter"  
      android:src="@drawable/trees" /> 

     <TableLayout       
      android:id="@+id/table_score_inc 
      android:layout_weight="0.3">  

      <TableRow      
       android:id="@+id/tableRow5_21" 
       android:layout_width="wrap_conte 
       android:layout_height="fill_pare 
       android:gravity="center_vertical 
       <TextView      
        android:id="@+id/labelIncorrec 
        android:layout_width="wrap_con 
        android:layout_height="fill_pa 
        android:ems="4"    
        android:text="@string/incorrec 
        android:gravity="center_vertic 
        android:textSize="15sp" />  
      </TableRow>      
      <TableRow       
       android:id="@+id/tableRow5_22" 
       android:layout_width="wrap_conte 
       android:layout_height="fill_pare 

       <TextView      
        android:id="@+id/scoreInco 
        android:layout_width="0dp" 
        android:layout_height="fil 
        android:ems="4"   
        android:gravity="center_ve 
        android:text=""   
        android:textSize="30sp" 
        android:textStyle="bold"/
      </TableRow>      
     </TableLayout>       

     </TableRow>       

     <TableRow        
      android:id="@+id/tableRow_menu" 
      android:layout_width="wrap_content 
      android:layout_height="fill_parent 
      <Button        
       android:id="@+id/ButtonPlus"  
       android:layout_width="0dp"  
       android:layout_height="38dp" 
       android:layout_weight="0.25" 
       android:text="@string/action_p 
      <Button        
       android:id="@+id/ButtonMinus" 
       android:layout_width="0dp"  
       android:layout_height="38dp" 
       android:layout_weight="0.25" 
       android:text="@string/action_m 
      <Button        
       android:id="@+id/ButtonMult"  
       android:layout_width="0dp"  
       android:layout_height="38dp" 
       android:layout_weight="0.25" 
       android:text="@string/action_m 
         <Button      
       android:id="@+id/ButtonDivide" 
       android:layout_width="0dp"  
       android:layout_height="38dp" 
       android:layout_weight="0.25" 
       android:text="@string/action_d 
      </TableRow>       

      </TableLayout>      

</ScrollView>        
+0

/screens_support.html – Luc

답변

8

"여러 화면을위한 디자인"모든, 당신은 모든 화면을 지원하기위한 다양한 레이아웃/드로어 블을 작성해야합니다. 예를 들어, 작은 화면에 2 개의 버튼을 넣고 큰 화면에 4 개의 버튼을 포함시키고 싶다면 다른 레이아웃을 만들어야한다는 것은 귀하의 요구 사항에 달려 있습니다.

모든 화면에 같은 수의 버튼을 표시하려면 다른 이미지/드로어 블 세트를 준비하고 프로젝트에 포함 시키십시오. 여기서는 특정 드로어 블 폴더에 이미지를 배치하는 것 이외의 작업을 수행 할 필요가 없습니다.

한 가지 더 평범한 배경 인 경우 9 패치 이미지를 만들어 원하는 크기 또는 장치가 지원하는 크기로 늘릴 수 있습니다.

더 많은 연구 : http://developer.android.com/guide/practices : 당신은이 링크를 읽어야

  1. http://developer.android.com/guide/practices/screens_support.html
  2. Supporting Different Screen Sizes
  3. Supporting Different Densities
  4. Implementing Adaptative UI Flows