minWidth:294pminHeight:72dp
で指定したところ、端末によっては4×2になるのですが、4×3のまま改善なしの端末もあります。どのように指定したら4×2にのサイズで指定できるでしょうか。
※ちなみに当方が所持しているandroidタブレットでの表示は問題なかったです。 知り合いのスマホ端末に入れると、4×3になってしまいます…。//targetVersionにより計算式の変数値が異なる。
if (targetVersion < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
sizePerCell = r.getDimensionPixelSize(R.dimen.cell_size_old); //80dp
sizePerCellMinus = r.getDimensionPixelSize(R.dimen.cell_size_minus_old); //0dp
} else {
sizePerCell = r.getDimensionPixelSize(R.dimen.cell_size); //80dp
sizePerCellMinus = r.getDimensionPixelSize(R.dimen.cell_size_minus); //16dp
}
//minSizeが0の場合はcellSizeも0にする。
cellSizeWidth = minWidth != 0 ? (int) Math.ceil((minWidth + sizePerCellMinus) / sizePerCell) : 0;
cellSizeHeight = minHeight != 0 ? (int) Math.ceil((minHeight + sizePerCellMinus) / sizePerCell) : 0;
--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
塩澤です。
1ピクセル=1ドット
1インチ=2.54センチメートル
Google社独自の単位と思われるdpですが
1dp=160分の1インチ
です。
つまり、160dpiのディスプレイにおける1ピクセルが1dpとなります。
(1インチの長さに160ピクセルが詰まると160dpi)
1dpはリアルな世界における長さ・大きさであり
1dpの長さ・大きさは
ディスプレイのインチ数・解像度・ピクセル数とは無関係です。
したがって
さまざまなインチ数・解像度・ピクセル数の
ディスプレイを持つAndroid機が世の中に存在する以上
質問者さんの目的から考えて
単位dpでの指定は違うような気がします。wrapとかかなぁ。
塩澤です。
320dpiの例を書き忘れてしまいましたが
分かりやすくするために念のため
1インチ=2.54センチメートル
1dp=160分の1インチ
つまり
160dpiのディスプレイにおける1ピクセルの長さ・大きさが1dp
320dpiのディスプレイにおける2ピクセルの長さ・大きさが1dp
したがって
単位dpはディスプレイのピクセル数・解像度・インチ数と無関係なリアルな世界の「ものさし」になります。
したがって質問者さんの目的から考えて単位dpでの指定は違うかなぁ、と。