2012-07-18 5 views
0

안드로이드 테이블 레이아웃의 셀 크기를 어떻게 수정합니까?android 테이블 레이아웃의 셀 크기를 고정하는 방법

각 셀 안에 이미지 버튼이있는 테이블 레이 아웃이 있습니다. 문제는 이미지를 변경 (또는 제거)하면 버튼의 크기가 변경된다는 것입니다. 어떻게 이것을 막을 수 있습니까?

답변

2

있다 이 경우를 피하십시오

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:minWidth="100dp" 
    android:maxWidth="200dp" 
    android:minHeight="100dp" 
    android:maxHeight="200dp" 
    android:src="@drawable/ic_launcher" /> 

이 작업을 수행하는 데 반드시 도움이됩니다.

감사

이 서로 다른 화면 크기 (소형, medim, 큰, 여분의 맥주를) 감지와 함께 프로그래밍 방식하여 ImageButton을 조정하는 데 도움이 될 수 있습니다

//Determine screen size 
    if ((getResources().getConfiguration().screenLayout &  Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) {  
     Toast.makeText(this, "Large screen",Toast.LENGTH_LONG).show(); 

    } 
    else if ((getResources().getConfiguration().screenLayout &  Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) {  
     Toast.makeText(this, "Normal sized screen" , Toast.LENGTH_LONG).show(); 

    } 
    else if ((getResources().getConfiguration().screenLayout &  Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) {  
     Toast.makeText(this, "Small sized screen" , Toast.LENGTH_LONG).show(); 
    } 
    else { 
     Toast.makeText(this, "Screen size is neither large, normal or small" , Toast.LENGTH_LONG).show(); 
    } 




    //Determine density 
    DisplayMetrics metrics = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(metrics); 
     int density = metrics.densityDpi; 

     if (density==DisplayMetrics.DENSITY_HIGH) { 
      Toast.makeText(this, "DENSITY_HIGH... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
     } 
     else if (density==DisplayMetrics.DENSITY_MEDIUM) { 
      Toast.makeText(this, "DENSITY_MEDIUM... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
     } 
     else if (density==DisplayMetrics.DENSITY_LOW) { 
      Toast.makeText(this, "DENSITY_LOW... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
     } 
     else { 
      Toast.makeText(this, "Density is neither HIGH, MEDIUM OR LOW. Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
     } 
+0

나는 번호를 사용하지 않는 것을 선호 다음 때문에 것 다른 화면 크기를 지원하기가 어려워 짐 – jcw

+0

다른 화면 해상도를위한 솔루션을 제공하기 위해 코드를 편집 했으므로 확실하게 도움이됩니다. 감사합니다 – SALMAN

+0

그것은, 그냥 대답을 수락하기 전에 10 분 기다려야 해 – jcw

관련 문제