Resources resources = context.getResources(); int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android"); if (resourceId > 0) { return resources.getDimensionPixelSize(resourceId); } return 0;
Resources resources = context.getResources(); final int resourceId = resources.getIdentifier(name, "drawable", context.getPackageName()); return resources.getDrawable(resourceId);
private int getInternalDimensionSize(Resources res, String key) { int result = 0; int resourceId = res.getIdentifier(key, "dimen", "android"); if (resourceId > 0) { result = res.getDimensionPixelSize(resourceId); } return result; }
/** 获取状态栏高度 */ public static int getStatusBarHeight(Context context) { int result = 24; int resId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resId > 0) { result = context.getResources().getDimensionPixelSize(resId); } else { result = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, result, Resources.getSystem().getDisplayMetrics()); } return result; } }
@DrawableRes private int findResourceIdFromTypeAndNameResourceUri(Context context, Uri source) { List<String> segments = source.getPathSegments(); String packageName = source.getAuthority(); String typeName = segments.get(TYPE_PATH_SEGMENT_INDEX); String resourceName = segments.get(NAME_PATH_SEGMENT_INDEX); int result = context.getResources().getIdentifier(resourceName, typeName, packageName); if (result == MISSING_RESOURCE_ID) { result = Resources.getSystem().getIdentifier(resourceName, typeName, ANDROID_PACKAGE_NAME); } if (result == MISSING_RESOURCE_ID) { throw new IllegalArgumentException("Failed to find resource id for: " + source); } return result; }
public int getStatusBarHeight(Context context) { int result = 0; int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { result = context.getResources().getDimensionPixelSize(resourceId); } return result; }
@IntRange(from = 0) static int getNavbarHeight(@NonNull Context context) { Resources res = context.getResources(); int navBarIdentifier = res.getIdentifier("navigation_bar_height", "dimen", "android"); return navBarIdentifier != RESOURCE_NOT_FOUND ? res.getDimensionPixelSize(navBarIdentifier) : 0; }
private int getSystemBarHeight(String resourceName) { int height = 0; int resourceId = mContext.getResources().getIdentifier(resourceName, "dimen", "android"); if (resourceId > 0) { height = mContext.getResources().getDimensionPixelSize(resourceId); } return height; }
/** * 根据 layout 名字获得 id * * @param layoutName * @return */ public static int findLayout(Context context, String layoutName) { int id = getResources(context).getIdentifier(layoutName, "layout", context.getPackageName()); return id; }
/** * findview * * @param view * @param viewName * @param <T> * @return */ public static <T extends View> T findViewByName(Context context, View view, String viewName) { int id = getResources(context).getIdentifier(viewName, "id", context.getPackageName()); T v = (T) view.findViewById(id); return v; }
/** * findview * * @param activity * @param viewName * @param <T> * @return */ public static <T extends View> T findViewByName(Context context, Activity activity, String viewName) { int id = getResources(context).getIdentifier(viewName, "id", context.getPackageName()); T v = (T) activity.findViewById(id); return v; }
public static int getStatusBarHeight() { int result = 0; try { int resourceId = Resources.getSystem().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { result = Resources.getSystem().getDimensionPixelSize(resourceId); } } catch (Resources.NotFoundException e) { e.printStackTrace(); } return result; }
/** * 从 dimens 中获得尺寸 * * @param context * @param dimenName * @return */ public static float getDimens(Context context, String dimenName) { return getResources(context).getDimension(getResources(context).getIdentifier(dimenName, "dimen", context.getPackageName())); }
/** * 从String 中获得字符 * * @return */ public static String getString(Context context, String strName) { return getString(context, getResources(context).getIdentifier(strName, "string", context.getPackageName())); }
/** * 获得颜色 */ public static int getColor(Context context, String colorName) { return getColor(context, getResources(context).getIdentifier(colorName, "color", context.getPackageName())); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(getResources().getIdentifier("host_activity", "layout", getPackageName())); surfaceView = findViewById( getResources().getIdentifier("surface_view", "id", getPackageName())); surfaceView.getHolder().addCallback(this); }
private static int getResourceId(String type, String resourceName) { Context context = InstrumentationRegistry.getTargetContext(); Resources res = context.getResources(); return res.getIdentifier(resourceName, type, context.getPackageName()); } }
static Context mockPackageResourceContext() { Context context = mock(Context.class); PackageManager pm = mock(PackageManager.class); Resources res = mock(Resources.class); doReturn(pm).when(context).getPackageManager(); try { doReturn(res).when(pm).getResourcesForApplication(RESOURCE_PACKAGE); } catch (PackageManager.NameNotFoundException e) { throw new RuntimeException(e); } doReturn(RESOURCE_ID_1).when(res).getIdentifier(RESOURCE_NAME, RESOURCE_TYPE, RESOURCE_PACKAGE); return context; }
private Bitmap decodeExpected() { int resourceId = context.getResources() .getIdentifier(getResourceName(), RESOURCE_TYPE, context.getPackageName()); if (resourceId == 0) { throw new IllegalArgumentException("Failed to find resource for: " + getResourceName() + " with type: " + RESOURCE_TYPE + " and package: " + context.getPackageName()); } BitmapFactory.Options options = new BitmapFactory.Options(); options.inScaled = false; return BitmapFactory.decodeResource(context.getResources(), resourceId, options); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(getResources().getIdentifier("host_activity", "layout", getPackageName())); surfaceView = findViewById( getResources().getIdentifier("surface_view", "id", getPackageName())); surfaceView.getHolder().addCallback(this); }