当前位置: 首页 > news >正文

老公做网站网站推广自己做图片的网站

老公做网站网站推广,自己做图片的网站,seo关键词排名优化软件怎么选,WordPress手机网页登录代码有些时候需要将res中的资源文件加载进来然后做一些修改#xff0c;然后再赋值给控件使用#xff0c;比如这样#xff1a; Drawable drawable getResources().getDrawable(int id); 现在我需要把资源文件id所对应的Drawable对象加载进来#xff0c;然后做向下转型处理然后再赋值给控件使用比如这样 Drawable drawable getResources().getDrawable(int id); 现在我需要把资源文件id所对应的Drawable对象加载进来然后做向下转型处理如果我不调试查看本身的类型的话该怎么知道它到底是哪种类型呢我们来通过源代码查看究竟 首先我们找到getResources().getDrawable()方法 public Drawable getDrawable(int id) throws NotFoundException {synchronized (mTmpValue) {TypedValue value mTmpValue;getValue(id, value, true);return loadDrawable(value, id);}}这个方法并没有做什么进入到loadDrawable方法中 /*package*/ Drawable loadDrawable(TypedValue value, int id)throws NotFoundException {if (TRACE_FOR_PRELOAD) {// Log only framework resourcesif ((id 24) 0x1) {final String name getResourceName(id);if (name ! null) android.util.Log.d(PreloadDrawable, name);}}final long key (((long) value.assetCookie) 32) | value.data;Drawable dr getCachedDrawable(key);if (dr ! null) {return dr;}Drawable.ConstantState cs sPreloadedDrawables.get(key);if (cs ! null) {dr cs.newDrawable(this);} else {if (value.type TypedValue.TYPE_FIRST_COLOR_INT value.type TypedValue.TYPE_LAST_COLOR_INT) {dr new ColorDrawable(value.data);}if (dr null) {if (value.string null) {throw new NotFoundException(Resource is not a Drawable (color or path): value);}String file value.string.toString();if (DEBUG_LOAD) Log.v(TAG, Loading drawable for cookie value.assetCookie : file);if (file.endsWith(.xml)) {try {XmlResourceParser rp loadXmlResourceParser(file, id, value.assetCookie, drawable);dr Drawable.createFromXml(this, rp);rp.close();} catch (Exception e) {NotFoundException rnf new NotFoundException(File file from drawable resource ID #0x Integer.toHexString(id));rnf.initCause(e);throw rnf;}} else {try {InputStream is mAssets.openNonAsset(value.assetCookie, file, AssetManager.ACCESS_STREAMING);// System.out.println(Opened file file : is);dr Drawable.createFromResourceStream(this, value, is,file, null);is.close();// System.out.println(Created stream: dr);} catch (Exception e) {NotFoundException rnf new NotFoundException(File file from drawable resource ID #0x Integer.toHexString(id));rnf.initCause(e);throw rnf;}}}}if (dr ! null) {dr.setChangingConfigurations(value.changingConfigurations);cs dr.getConstantState();if (cs ! null) {if (mPreloading) {sPreloadedDrawables.put(key, cs);} else {synchronized (mTmpValue) {//Log.i(TAG, Saving cached drawable # // Integer.toHexString(key.intValue())// in this : cs);mDrawableCache.put(key, new WeakReferenceDrawable.ConstantState(cs));}}}}return dr;}这一大段我们看主要的 if (file.endsWith(.xml)) {try {XmlResourceParser rp loadXmlResourceParser(file, id, value.assetCookie, drawable);dr Drawable.createFromXml(this, rp);rp.close();} catch (Exception e) {NotFoundException rnf new NotFoundException(File file from drawable resource ID #0x Integer.toHexString(id));rnf.initCause(e);throw rnf;}} 这里以selector说明selector是定义在xml中的我们就找到这个地方它原来是使用XmlResourceParser来对xml资源文件进行解析的咱们进去createFromXml方法内部一探究竟 /*** Create a drawable from an XML document. For more information on how to* create resources in XML, see* a href{docRoot}guide/topics/resources/drawable-resource.htmlDrawable Resources/a.*/public static Drawable createFromXml(Resources r, XmlPullParser parser)throws XmlPullParserException, IOException {AttributeSet attrs Xml.asAttributeSet(parser);int type;while ((typeparser.next()) ! XmlPullParser.START_TAG type ! XmlPullParser.END_DOCUMENT) {// Empty loop}if (type ! XmlPullParser.START_TAG) {throw new XmlPullParserException(No start tag found);}Drawable drawable createFromXmlInner(r, parser, attrs);if (drawable null) {throw new RuntimeException(Unknown initial tag: parser.getName());}return drawable;}从这段代码中我们可以发现最主要的工作是由方法createFromXmlInner来完成的我们进去看看 /*** Create from inside an XML document. Called on a parser positioned at* a tag in an XML document, tries to create a Drawable from that tag.* Returns null if the tag is not a valid drawable.*/public static Drawable createFromXmlInner(Resources r, XmlPullParser parser, AttributeSet attrs)throws XmlPullParserException, IOException {Drawable drawable;final String name parser.getName();if (name.equals(selector)) {drawable new StateListDrawable();} else if (name.equals(level-list)) {drawable new LevelListDrawable();} else if (name.equals(layer-list)) {drawable new LayerDrawable();} else if (name.equals(transition)) {drawable new TransitionDrawable();} else if (name.equals(color)) {drawable new ColorDrawable();} else if (name.equals(shape)) {drawable new GradientDrawable();} else if (name.equals(scale)) {drawable new ScaleDrawable();} else if (name.equals(clip)) {drawable new ClipDrawable();} else if (name.equals(rotate)) {drawable new RotateDrawable();} else if (name.equals(animated-rotate)) {drawable new AnimatedRotateDrawable(); } else if (name.equals(animation-list)) {drawable new AnimationDrawable();} else if (name.equals(inset)) {drawable new InsetDrawable();} else if (name.equals(bitmap)) {drawable new BitmapDrawable();if (r ! null) {((BitmapDrawable) drawable).setTargetDensity(r.getDisplayMetrics());}} else if (name.equals(nine-patch)) {drawable new NinePatchDrawable();if (r ! null) {((NinePatchDrawable) drawable).setTargetDensity(r.getDisplayMetrics());}} else {throw new XmlPullParserException(parser.getPositionDescription() : invalid drawable tag name);}drawable.inflate(r, parser, attrs);return drawable;}噢噢原来是这样啊我定义什么样类型的图片最后就有什么样的Java类型与之对应原来我的selector对应StateListDrawable恍然大悟接下来就容易处理了。
http://www.yutouwan.com/news/293670/

相关文章:

  • discuz 网站标题桥西区建设局网站
  • 营销型企业网站报价如何让网站被收录
  • 北京社区网站建设最好用的建站模板
  • 网站上地图怎么做的wordpress 自动汉化版
  • 宁波网站设计哪家公司好wordpress自动链接到图片
  • 网站响应式技术wordpress文章中调用自定义字段
  • 软件开发外包网站wordpress更新ftp
  • 淘宝联盟的购物网站怎么做榆林市城乡建设规划网站
  • 淘宝在线购物网站周口建设公司网站
  • 建设网站需要购买数据库吗平台电商网站开发
  • 从优化角度来建设网站网站可以做推广吗
  • 蛋糕店微网站美团网站开发合作商
  • 网站建设系统多少钱厦门seo厦门起梦
  • 做百度百科的网站咖搭姆少儿编程加盟
  • 动态个人网站模板关键词推广数据分析
  • asp个人网站源码下载餐饮酒店网站怎么做
  • 旅游网站建设那家好公司网站销售怎么做的
  • 国内人做韩国网站一般都卖什么东西百度云wordpress教程
  • 贴心的广州网站建设贵阳建设网站培训
  • 中山手机网站建设价格万维网网站域名续费
  • 潮阳网站开发建材网站建设 南宁
  • 网站宣传和推广的方法有哪些推广普通话宣传周是每年9月的
  • a5源码网站wordpress大前端d8主题免费下载
  • 文章类网站源码网站建设硬件条件
  • 做网站要通过网信办备案吗宁波制作网页服务好
  • 网络叶子 网站推广建设网站0基础需要学什么
  • 为歌手做的个人网站浙江省城乡建设厅官网
  • 网站建设需要注意事项展览展示展厅设计
  • 只做网站不做appwordpress author
  • 网站数据库多大合适郑州高端建站公司