40.Android 資源Id工具類ResourcesUtil
40.Android 資源Id工具類ResourcesUtil
Android 資源Id工具類ResourcesUtil ResourcesUtil ResourcesUtilActivity
ResourcesUtil
public class ResourcesUtil { /** * 根據mipmap檔案的名字取得id * * @param context * @param name * @return */ public static int getMipmapId(Context context, String name) { return context.getResources().getIdentifier(name, mipmap, context.getPackageName()); } /** * 根據layout檔案的名字取得id * * @param context * @param name * @return */ public static int getLayoutId(Context context, String name) { return context.getResources().getIdentifier(name, layout, context.getPackageName()); } /** * 根據string的名字取得id * * @param context * @param name * @return */ public static int getStringId(Context context, String name) { return context.getResources().getIdentifier(name, string, context.getPackageName()); } /** * 根據drawable檔案的名字取得id * * @param context * @param name * @return */ public static int getDrawableId(Context context, String name) { return context.getResources().getIdentifier(name, drawable, context.getPackageName()); } /** * 根據style的名字取得id * * @param context * @param name * @return */ public static int getStyleId(Context context, String name) { return context.getResources().getIdentifier(name, style, context.getPackageName()); } /** * 根據id的名字取得id * * @param context * @param name * @return */ public static int getId(Context context, String name) { return context.getResources().getIdentifier(name, id, context.getPackageName()); } /** * 根據color檔案的名字取得id * * @param context * @param name * @return */ public static int getColorId(Context context, String name) { return context.getResources().getIdentifier(name, color, context.getPackageName()); } /** * 根據array的名字取得id * * @param context * @param name * @return */ public static int getArrayId(Context context, String name) { return context.getResources().getIdentifier(name, array, context.getPackageName()); }}
ResourcesUtilActivity
public class ResourcesUtilActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(ResourcesUtil.getLayoutId(this, activity_resources)); TextView resourcesTV = (TextView) this.findViewById(R.id.resources_tv); ImageView resourcesIV = (ImageView) this.findViewById(R.id.resources_iv); resourcesTV.setText(ResourcesUtil.getStringId(this, app_label)); resourcesTV.setTextColor(this.getResources().getColor(ResourcesUtil.getColorId(this, colorAccent))); resourcesIV.setImageResource(ResourcesUtil.getMipmapId(this, mm_1)); }}