Skip to content

Instantly share code, notes, and snippets.

@NikitiJ
Created September 4, 2019 07:15
Show Gist options
  • Save NikitiJ/ca6fbebc224d71ea841fdb4c35c2f762 to your computer and use it in GitHub Desktop.
Save NikitiJ/ca6fbebc224d71ea841fdb4c35c2f762 to your computer and use it in GitHub Desktop.
Android. Рассчёт количества столбцов относительно размеров экрана и ориентации
//Расчёт количества столбцов относительно размеров экрана и ориентации
public static int getGridColumnsCount(Context context){
boolean landscape = context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
float hi=displayMetrics.heightPixels/displayMetrics.xdpi;
float wi=displayMetrics.widthPixels/displayMetrics.ydpi;
float screenWidthInch = landscape ? Math.max(wi, hi) : Math.min(wi, hi);
float screenWidthCm = screenWidthInch * 2.54f;
int columns = (int)(screenWidthCm/2);
return columns < 3 ? 3 : columns;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment