40.Android 资源Id工具类ResourcesUtil

40.Android 资源Id工具类ResourcesUtil

  • Android 资源Id工具类ResourcesUtil
    • ResourcesUtil
    • ResourcesUtilActivity

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"));
    }
}

你可能感兴趣的:(android,util,resources,资源获取,资源获取工具类)