Is there any way to determine the category of screen size of the current device, such as small, normal, large, xlarge?
Not the density, but the screen size.
You can use the Configuration.screenLayout
bitmask.
Example:
if ((getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK) ==
Configuration.SCREENLAYOUT_SIZE_LARGE) {
// on a large screen device ...
}