我創建了一個偏好設置(字體大小)。我爲移動設備和平板電腦(自動)定義了多個array.xml
。我需要爲我的設置(字體大小)自動設置默認字體大小。在Android中自動更改設置的默認字體大小?
someCode.....getString("lstFontSize", "10"<======);I need set font size automatic.
我創建了一個偏好設置(字體大小)。我爲移動設備和平板電腦(自動)定義了多個array.xml
。我需要爲我的設置(字體大小)自動設置默認字體大小。在Android中自動更改設置的默認字體大小?
someCode.....getString("lstFontSize", "10"<======);I need set font size automatic.
使用此工作:
public static int resSize = 0;
public static int resSizeTablet = 0;
public static int size()
{
String prf = G.preference.getString("lstFontSize", (resSize != 0) ? String.valueOf(resSize) :String.valueOf(resSizeTablet));
size = Integer.parseInt(prf);
return size;
}
public static int DefaultFontSize(Activity act){
Display display = act.getWindowManager().getDefaultDisplay();
DisplayMetrics dm=new DisplayMetrics();
display.getMetrics(dm);
int p=isTabletDevice();
if (p == 0) {
int density=dm.densityDpi;
switch(density){
case DisplayMetrics.DENSITY_LOW:
return resSize = 10;
case DisplayMetrics.DENSITY_MEDIUM:
return resSize = 10;
case DisplayMetrics.DENSITY_HIGH:
return resSize = 14;
case DisplayMetrics.DENSITY_XHIGH:
return resSize = 18;
case DisplayMetrics.DENSITY_XXHIGH:
return resSize = 24;
case DisplayMetrics.DENSITY_XXXHIGH:
return resSize = 28;
}
}
return 0;
}
public static int isTabletDevice() {
boolean xlarge = ((G.context.getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK) ==
Configuration.SCREENLAYOUT_SIZE_XLARGE);
if (xlarge) {
DisplayMetrics metrics = new DisplayMetrics();
Activity activity = (Activity) G.context;
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch (metrics.densityDpi) {
case DisplayMetrics.DENSITY_HIGH:
return resSizeTablet = 24;
case DisplayMetrics.DENSITY_MEDIUM:
return resSizeTablet = 20;
case DisplayMetrics.DENSITY_XHIGH:
return resSizeTablet = 28;
default:
break;
}
}
return 0;
}
然後你可以使用:
Conver.setTextSize(TypedValue.COMPLEX_UNIT_SP,YourClassName.size());
你必須像
移動創建不同的默認字體大小不同的文件夾: -
res/values/dimens.xml(default)
res/values-ldpi/dimens.xml (240x320 and nearer resolution)
res/values-mdpi/dimens.xml (320x480 and nearer resolution)
res/values-hdpi/dimens.xml (480x800, 540x960 and nearer resolution)
res/values-xhdpi/dimens.xml (720x1280 - Samsung S3, Micromax Canvas HD)
平板電腦:
- 對於平板電腦或更大的屏幕,你必須創造更多的像 特定文件夾可繪製 -
large.res/values-large/dimens.xml (480x800)
定義你的字號在res - >數值 - > dimens.xml文件中像
<dimen name="fontSize14">14sp</dimen>
和平板電腦或其他手機,您可以相應地設置在其特定的文件夾一樣 資源 - >值 - sw360dp - > dimens.xml
<dimen name="fontSize14">16sp</dimen>
我設置16SP在sw360dp文件夾,你可以設置爲你想要
在TextView的通話android:textSize="@dimen/fontSize14"
我希望我會爲你
這不是一個答案 – 2014-10-07 06:12:19
我想這個答案將幫助您設置默認字體大小 – 2014-10-07 06:42:23
@llya現在我已經給出了該quatsion的答案,所以我希望它會幫助他 – 2014-10-07 06:47:24