あなたは
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
final DisplayMetrics displayMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
または
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
をロードするカードの必要数を見つけるために、ウィンドウマネージャを使用して画面サイズを取得することができます。
は、より良いあなたはより多くのカードがあるので、あなたの答えには高さと幅を切り替え
int padding = 5;
float cardwidth = width*0.25 - padding; // card with 25% width of screen
int count = width /cardwidth ; //
は、しかし、携帯電話は、より高い解像度を持つタブレットのために完璧に動作し、たとえば画面幅 に比例して、カードの幅を設定しますスクリーンに収まるよりも電話のバージョンで。 – XvKnightvX
あなたは120の代わりに幅を120に固定するのではなく、画面幅の25%のように画面幅のパーセンテージ値として計算します。cardwidth = width * 0.25 – AnshaD
元の回答に素早く調整して、行ごとの数を正しく設定する - 'int cardPerRow = width/100 /(int)displayMetrics.density; // 100はカードの幅です – XvKnightvX