0

Androidのテーブルレイアウトのセルのサイズをどのように修正(移動しないようにする)しますか?

各セル内に画像ボタンのあるテーブルレイアウトがあります。問題は、画像を変更(または削除)すると、ボタンのサイズが変わることです。これを防ぐにはどうすればよいですか?

4

2 に答える 2

2

このケースを回避するために使用できるプロパティsetMinimumWidth/heightとMaximumwidth/heightがあります

<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" />

これは確かにあなたがあなたの仕事を成し遂げるのを助けるでしょう。

ありがとう

これは、さまざまな画面サイズ(小、中、大、余分なラガー)を検出するとともに、プログラムで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();
        }
于 2012-07-18T09:45:49.070 に答える
1

各ビューのlayout_widthを0に設定します。必要に応じて、各ビューのlayout_weightを追加します。

参照: http: //pournaras.zilsen.com/2010/11/01/fixed-column-width-in-tablelayout/

于 2012-07-18T09:45:33.677 に答える