android.content.res.Resources.getDisplayMetrics()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(9.8k)|赞(0)|评价(0)|浏览(210)

本文整理了Java中android.content.res.Resources.getDisplayMetrics方法的一些代码示例,展示了Resources.getDisplayMetrics的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Resources.getDisplayMetrics方法的具体详情如下:
包路径:android.content.res.Resources
类名称:Resources
方法名:getDisplayMetrics

Resources.getDisplayMetrics介绍

暂无

代码示例

代码示例来源:origin: stackoverflow.com

Resources res = context.getResources();
 // Change locale settings in the app.
 DisplayMetrics dm = res.getDisplayMetrics();
 android.content.res.Configuration conf = res.getConfiguration();
 conf.locale = new Locale(language_code.toLowerCase());
 res.updateConfiguration(conf, dm);

代码示例来源:origin: nickbutcher/plaid

/**
 * Determine if the navigation bar will be on the bottom of the screen, based on logic in
 * PhoneWindowManager.
 */
public static boolean isNavBarOnBottom(@NonNull Context context) {
  final Resources res= context.getResources();
  final Configuration cfg = context.getResources().getConfiguration();
  final DisplayMetrics dm =res.getDisplayMetrics();
  boolean canMove = (dm.widthPixels != dm.heightPixels &&
      cfg.smallestScreenWidthDp < 600);
  return(!canMove || dm.widthPixels < dm.heightPixels);
}

代码示例来源:origin: stackoverflow.com

public class LocaleUtils {

  private static Locale sLocale;

  public static void setLocale(Locale locale) {
    sLocale = locale;
    if(sLocale != null) {
      Locale.setDefault(sLocale);
    }
  }

  public static void updateConfig(ContextThemeWrapper wrapper) {
    if(sLocale != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
      Configuration configuration = new Configuration();
      configuration.setLocale(sLocale);
      wrapper.applyOverrideConfiguration(configuration);
    }
  }

  public static void updateConfig(Application app, Configuration configuration) {
    if(sLocale != null && Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
      //Wrapping the configuration to avoid Activity endless loop
      Configuration config = new Configuration(configuration);
      config.locale = sLocale;
      Resources res = app.getBaseContext().getResources();
      res.updateConfiguration(config, res.getDisplayMetrics());
    }
  }
}

代码示例来源:origin: aa112901/remusic

public static Resources updateNightMode(Resources resource, boolean on) {
  DisplayMetrics dm = resource.getDisplayMetrics();
  Configuration config = resource.getConfiguration();
  final int uiModeNightMaskOrigin = config.uiMode &= ~Configuration.UI_MODE_TYPE_MASK;
  final int uiModeNightMaskNew = on ? Configuration.UI_MODE_NIGHT_YES : Configuration.UI_MODE_NIGHT_NO;
  if (uiModeNightMaskOrigin != uiModeNightMaskNew) {
    config.uiMode &= ~Configuration.UI_MODE_NIGHT_MASK;
    config.uiMode |= uiModeNightMaskNew;
    resource.updateConfiguration(config, dm);
  }
  return resource;
}

代码示例来源:origin: alibaba/Tangram-Android

public static void initWith(@NonNull final Context context) {
  final Resources resources = context.getResources();
  final DisplayMetrics dm = resources.getDisplayMetrics();
  mDensity = dm.density;
  final Configuration configuration = resources.getConfiguration();
  mScreenWidth = configuration.orientation == Configuration.ORIENTATION_PORTRAIT ? dm.widthPixels : dm.heightPixels;
  mScreenHeight = configuration.orientation == Configuration.ORIENTATION_PORTRAIT ? dm.heightPixels : dm.widthPixels;
}

代码示例来源:origin: stackoverflow.com

private void restartInLocale(Locale locale)
{
  Locale.setDefault(locale);
  Configuration config = new Configuration();
  config.locale = locale;
  Resources resources = getResources();
  resources.updateConfiguration(config, resources.getDisplayMetrics());
  recreate();
}

代码示例来源:origin: stackoverflow.com

public void setLocale(String lang) { 
  Locale myLocale = new Locale(lang); 
  Resources res = getResources(); 
  DisplayMetrics dm = res.getDisplayMetrics(); 
  Configuration conf = res.getConfiguration(); 
  conf.locale = myLocale; 
  res.updateConfiguration(conf, dm); 
  Intent refresh = new Intent(this, AndroidLocalize.class); 
  startActivity(refresh); 
  finish();
}

代码示例来源:origin: alibaba/Tangram-Android

public static void initWith(@NonNull final Context context) {
  final Resources resources = context.getResources();
  final DisplayMetrics dm = resources.getDisplayMetrics();
  mDensity = dm.density;
  final Configuration configuration = resources.getConfiguration();
  mScreenWidth = configuration.orientation == Configuration.ORIENTATION_PORTRAIT ? dm.widthPixels : dm.heightPixels;
  mScreenHeight = configuration.orientation == Configuration.ORIENTATION_PORTRAIT ? dm.heightPixels : dm.widthPixels;
}

代码示例来源:origin: DaxiaK/MyDiary

private void overwriteConfigurationLocale(Configuration config, Locale locale) {
  //TODO FIX updateConfiguration on Android N
  config.setLocale(locale);
  getBaseContext().getResources()
      .updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
}

代码示例来源:origin: k9mail/k-9

public static void setLanguage(Context context, String language) {
  Locale locale;
  if (TextUtils.isEmpty(language)) {
    locale = Resources.getSystem().getConfiguration().locale;
  } else if (language.length() == 5 && language.charAt(2) == '_') {
    // language is in the form: en_US
    locale = new Locale(language.substring(0, 2), language.substring(3));
  } else {
    locale = new Locale(language);
  }
  Resources resources = context.getResources();
  Configuration config = resources.getConfiguration();
  config.locale = locale;
  resources.updateConfiguration(config, resources.getDisplayMetrics());
}

代码示例来源:origin: robolectric/robolectric

/**
 * Returns a qualifier string describing the current {@link Configuration} of the system resources.
 *
 * @return a qualifier string as described (https://developer.android.com/guide/topics/resources/providing-resources.html#QualifierRules)[here].
 */
public static String getQualifiers() {
 Resources systemResources = Resources.getSystem();
 return getQualifiers(systemResources.getConfiguration(), systemResources.getDisplayMetrics());
}

代码示例来源:origin: westnordost/StreetComplete

@Override public void onConfigurationChanged(Configuration newConfig)
{
  super.onConfigurationChanged(newConfig);
  // I need to do everything myself... (AppCompactActivity only does this after calling this
  // method. Genius!)
  getResources().updateConfiguration(newConfig, getResources().getDisplayMetrics());
  bottomSheetBehavior.setPeekHeight(getResources().getDimensionPixelSize(R.dimen.quest_form_peekHeight));
  View bottomSheetContainer = getView().findViewById(R.id.bottomSheetContainer);
  bottomSheetContainer.setBackgroundResource(R.drawable.speechbubbles_gradient_background);
  ViewGroup.LayoutParams params = bottomSheetContainer.getLayoutParams();
  params.width = getResources().getDimensionPixelSize(R.dimen.quest_form_width);
  bottomSheetContainer.setLayoutParams(params);
}

代码示例来源:origin: gzu-liyujiang/AndroidPicker

@Override
public Resources getResources() {
  Resources res = super.getResources();
  //强制字体大小不随系统改变而改变:https://blog.csdn.net/xuxian361/article/details/74909602
  if (res.getConfiguration().fontScale != 1f) {
    Configuration newConfig = new Configuration();
    newConfig.setToDefaults();
    res.updateConfiguration(newConfig, res.getDisplayMetrics());
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
      createConfigurationContext(newConfig);
    } else {
      res.updateConfiguration(newConfig, res.getDisplayMetrics());
    }
  }
  return res;
}

代码示例来源:origin: xinghongfei/LookLook

/**
 * Determine if the navigation bar will be on the bottom of the screen, based on logic in
 * PhoneWindowManager.
 */
public static boolean isNavBarOnBottom(@NonNull Context context) {
  final Resources res= context.getResources();
  final Configuration cfg = context.getResources().getConfiguration();
  final DisplayMetrics dm =res.getDisplayMetrics();
  boolean canMove = (dm.widthPixels != dm.heightPixels &&
      cfg.smallestScreenWidthDp < 600);
  return(!canMove || dm.widthPixels < dm.heightPixels);
}

代码示例来源:origin: stackoverflow.com

Locale locale = getResources().getConfiguration().locale;
if (locale.getLanguage().equals("no") || locale.getLanguage().equals("nb") || locale.getLanguage().equals("nn")){
  locale = new Locale("no","NO");
  Configuration config = new Configuration();
  config.locale = locale;
  Resources res = getBaseContext().getResources();
  res.updateConfiguration(config, res.getDisplayMetrics());
}

代码示例来源:origin: Tencent/tinker

resources.updateConfiguration(resources.getConfiguration(), resources.getDisplayMetrics());

代码示例来源:origin: stackoverflow.com

Resources standardResources = context.getResources();
AssetManager assets = standardResources.getAssets();
DisplayMetrics metrics = standardResources.getDisplayMetrics();
Configuration config = new Configuration(standardResources.getConfiguration());
config.locale = Locale.US;
Resources defaultResources = new Resources(assets, metrics, config);

代码示例来源:origin: stackoverflow.com

public static void setLocale(Context context) {
  final String lang = PreferenceManager.getDefaultSharedPreferences(context).getString("locale", "en");
  final Locale newLocale = new Locale(lang);
  Locale.setDefault(newLocale);
  final Configuration config = new Configuration();
  config.locale = newLocale;

  final Resources res = context.getResources();
  res.updateConfiguration(config, res.getDisplayMetrics());
}

代码示例来源:origin: robolectric/robolectric

/**
 * Overrides the current device configuration.
 *
 * If `newQualifiers` starts with a plus (`+`), the prior configuration is used as the base
 * configuration, with the given changes applied additively. Otherwise, default values are used
 * for unspecified properties, as described [here](http://robolectric.org/device-configuration/).
 *
 * @param newQualifiers the qualifiers to apply
 */
public static void setQualifiers(String newQualifiers) {
 Configuration configuration;
 DisplayMetrics displayMetrics = new DisplayMetrics();
 if (newQualifiers.startsWith("+")) {
  configuration = new Configuration(Resources.getSystem().getConfiguration());
  displayMetrics.setTo(Resources.getSystem().getDisplayMetrics());
 } else {
  configuration = new Configuration();
 }
 Bootstrap.applyQualifiers(newQualifiers, getApiLevel(), configuration, displayMetrics);
 Resources systemResources = Resources.getSystem();
 systemResources.updateConfiguration(configuration, displayMetrics);
 if (application != null) {
  application.getResources().updateConfiguration(configuration, displayMetrics);
 }
}

代码示例来源:origin: alibaba/Tangram-Android

private int getScreenWidth() {
  Resources resources = getContext().getResources();
  DisplayMetrics dm = resources.getDisplayMetrics();
  Configuration configuration = resources.getConfiguration();
  return configuration.orientation == Configuration.ORIENTATION_PORTRAIT ?
      dm.widthPixels : dm.heightPixels;
}

相关文章

微信公众号

最新文章

更多