private void setTextSize() {
DeviceInchAndTextSize deviceInchAndTextSize = new DeviceInchAndTextSize();
TextView[] changeTextSizeViews = {reserveFieldStoreText , reserveFieldDateText , reserveFieldTimeText};
deviceInchAndTextSize.setViews(changeTextSizeViews);
deviceInchAndTextSize.checkDeviceInchAndSetTextSize();
}
private class DeviceInchAndTextSize {
private TextView[] changeTextSizeViews ;
private DeviceInchAndTextSize() {
}
void setViews( TextView[] changeTextSizeViews){
this.changeTextSizeViews = changeTextSizeViews;
}
void checkDeviceInchAndSetTextSize() {
switch (checkDeviceInch()) {
case "above10":
for ( TextView changeTextSizeView : changeTextSizeViews ){
setTextSize(changeTextSizeView, 26);
}
break;
case "between10And7":
for ( TextView changeTextSizeView : changeTextSizeViews ){
setTextSize(changeTextSizeView, 22);
}
break;
case "below7":
for ( TextView changeTextSizeView : changeTextSizeViews ){
setTextSize(changeTextSizeView, 14);
}
break;
}
}
int inch = (int)getInch();
if (inch >= 10) {
return "above10";
} else if (inch >= 7) {
return "between10And7";
} else {
return "below7";
}
}
void setTextSize(TextView textView, int size) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
}
private double getInch() {
DisplayMetrics display = MainActivity.this.getResources().getDisplayMetrics();
int height = (int) (display.heightPixels / display.ydpi);
int width = (int) (display.widthPixels / display.xdpi);
return Math.
sqrt((width
* width
) + (height
* height
)); }
}