Android之通过资源名称获取资源Id

原创 2016年06月02日 10:15:13

有的时候我们需要通过资源名称获取资源Id,这个其实比较简单,只是做了个简单的封装,记录一下。

/**
 * 资源文件工具类
 * @author Jenly
 */
public class ResourcesUtils {
	
	private static final String RES_ID = "id";
	private static final String RES_STRING = "string";
	private static final String RES_DRABLE = "drable";
	private static final String RES_LAYOUT = "layout";
	private static final String RES_STYLE = "style";
	private static final String RES_COLOR = "color";
	private static final String RES_DIMEN = "dimen";
	private static final String RES_ANIM = "anim";
	private static final String RES_MENU = "menu";
	
	
	/**
	 * 获取资源文件的id
	 * @param context
	 * @param resName
	 * @return
	 */
	public static int getId(Context context,String resName){
		return getResId(context,resName,RES_ID);
	}
	
	/**
	 * 获取资源文件string的id
	 * @param context
	 * @param resName
	 * @return
	 */
	public static int getStringId(Context context,String resName){
		return getResId(context,resName,RES_STRING);
	}
	
	/**
	 * 获取资源文件drable的id
	 * @param context
	 * @param resName
	 * @return
	 */
	public static int getDrableId(Context context,String resName){
		return getResId(context,resName,RES_DRABLE);
	}
	
	/**
	 * 获取资源文件layout的id
	 * @param context
	 * @param resName
	 * @return
	 */
	public static int getLayoutId(Context context,String resName){
		return getResId(context,resName,RES_LAYOUT);
	}
	
	/**
	 * 获取资源文件style的id
	 * @param context
	 * @param resName
	 * @return
	 */
	public static int getStyleId(Context context,String resName){
		return getResId(context,resName,RES_STYLE);
	}
	
	/**
	 * 获取资源文件color的id
	 * @param context
	 * @param resName
	 * @return
	 */
	public static int getColorId(Context context,String resName){
		return getResId(context,resName,RES_COLOR);
	}
	
	/**
	 * 获取资源文件dimen的id
	 * @param context
	 * @param resName
	 * @return
	 */
	public static int getDimenId(Context context,String resName){
		return getResId(context,resName,RES_DIMEN);
	}
	
	/**
	 * 获取资源文件ainm的id
	 * @param context
	 * @param resName
	 * @return
	 */
	public static int getAnimId(Context context,String resName){
		return getResId(context,resName,RES_ANIM);
	}
	
	/**
	 * 获取资源文件menu的id
	 */
	public static int getMenuId(Context context,String resName){
		return getResId(context,resName,RES_MENU);
	}
	
	/**
	 * 获取资源文件ID
	 * @param context
	 * @param resName
	 * @param defType
	 * @return
	 */
	public static int getResId(Context context,String resName,String defType){
		return context.getResources().getIdentifier(resName, defType, context.getPackageName());
	}

}



版权声明:本文为博主柳絮丶原创文章,转载请注明出处:http://blog.csdn.net/jenly121

android 中通过名字得到资源的ID的方法

实现有两个方法: 1. 通过
  • zhoudailiang
  • zhoudailiang
  • 2014年09月24日 15:02
  • 1724

【我的Android进阶之旅】Android使用getIdentifier()方法根据资源名来获取资源id

有时候我们想动态的根据一个资源名获得到对应的资源id,就可以使用getResources().getIdentifier()方法来获取该id。然后再使用该id进行相关的操作。 1、Demo示例 下...
  • qq446282412
  • qq446282412
  • 2016年11月24日 23:39
  • 8218

Android得到控件的名称

AlienTech for better life!~
  • twlkyao
  • twlkyao
  • 2013年12月29日 22:26
  • 2310

Android:资源 id 及资源 id 的动态获取

我们平时获取资源是通过 findViewById 方法进行的,比如我们常在onCreate方法中使用这样的语句:btnChecked=(ImageView)findViewById(R.id.imgC...
  • kmyhy
  • kmyhy
  • 2011年07月04日 16:17
  • 73113

Android使用getIdentifier()方法根据资源名来获取资源id

在Android开发的过程中我们需要动态的根据一个资源名获得到对应的资源id,我们可以使用getResources().getIdentifier()方法来获取该id, 然后通过该id进行相应的操作。...
  • owenchan1987
  • owenchan1987
  • 2017年06月17日 14:41
  • 473

Android 通过名称获取资源ID

通过名称获取资源ID一.为什么要这么做我们已经习惯使用 R.id.btn、R.drawable.bg_img 这种方式获取资源了,这样写确实很方便。 但是有一个问题,比如我们根据服务器的返回的...
  • jing531931384
  • jing531931384
  • 2015年06月03日 21:30
  • 502

Android中通过资源文件获取drawable的几种方法

android 获取资源文件 r.drawable中的图片转换为drawable、bitmap 转载自http://cfanz.cn/index.php?c=article&a=read&id=...
  • qq_25184739
  • qq_25184739
  • 2015年11月12日 22:54
  • 9591

Android中实现根据资源名获取资源ID

资源文件夹mipmap中多张图片p1~p30如下图所示,需要用RecyclerView展示,加载资源文件时 笨方法:List list = new ArrayList(); list.add(R.m...
  • Soft_Po
  • Soft_Po
  • 2016年07月26日 23:41
  • 1478

关于Android中根据ID名动态获取资源的两个方法

在开发中, 我们习惯了类似下面这种方式去实现引用资源: context.getResources().getDrawable(R.drawable.flower);但是,当我们提前知道这个资源的id...
  • stzy00
  • stzy00
  • 2014年11月13日 15:22
  • 1717

【res id】Android ID详解

Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id。id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。 如果在@后面...
  • knockheart
  • knockheart
  • 2013年06月27日 14:17
  • 1751
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android之通过资源名称获取资源Id
举报原因:
原因补充:

(最多只允许输入30个字)