gpt4 book ai didi

android - 在android中自动更改设置的默认字体大小?

转载 作者:行者123 更新时间:2023-11-29 21:00:40 24 4
gpt4 key购买 nike

我为设置(字体大小)创建了首选项。我为手机和平板电脑(自动)类型定义了多个 array.xml 。我需要自动为我的设置(字体大小)设置默认字体大小。

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());

关于android - 在android中自动更改设置的默认字体大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26229391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com