40.Android 資源Id工具類ResourcesUtil
ResourcesUtil
public class ResourcesUtil {
/**
* 根據Android系統版本,調用版本API中的獲取顏色方法
* According to the Android version, calls the method for color of version API
*
* @param activity activity
* @param resId resource id
* @return color
*/
public static int getColor(Activity activity, int resId) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
return activity.getResources().getColor(resId, activity.getTheme());
} else {
return activity.getResources().getColor(resId);
}
}
/**
* 根據Android系統版本,調用版本API中的獲取Drawable方法
* According to the Android version, calls the method for drawable of version API
*
* @param activity activity
* @param resId resource id
* @return color
*/
public static Drawable getDrawable(Activity activity, int resId) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
return activity.getTheme().getDrawable(resId);
} else {
return activity.getResources().getDrawable(resId);
}
}
/**
* 根據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"));
}
}