Androidのテーブルレイアウトのセルのサイズをどのように修正(移動しないようにする)しますか?
各セル内に画像ボタンのあるテーブルレイアウトがあります。問題は、画像を変更(または削除)すると、ボタンのサイズが変わることです。これを防ぐにはどうすればよいですか?
Androidのテーブルレイアウトのセルのサイズをどのように修正(移動しないようにする)しますか?
各セル内に画像ボタンのあるテーブルレイアウトがあります。問題は、画像を変更(または削除)すると、ボタンのサイズが変わることです。これを防ぐにはどうすればよいですか?
このケースを回避するために使用できるプロパティ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();
}
各ビューのlayout_widthを0に設定します。必要に応じて、各ビューのlayout_weightを追加します。
参照: http: //pournaras.zilsen.com/2010/11/01/fixed-column-width-in-tablelayout/