当前位置: 移动技术网 > 移动技术>移动开发>Android > Android 获取 上下文环境参数 getResources

Android 获取 上下文环境参数 getResources

2018年11月07日  | 移动技术网移动技术  | 我要评论

1----context.getresources().getconfiguration().orientation;//获取屏幕方向int类型,1:portrait,2:landscape

2---把资源文件放到应用程序的/raw/raw下,以openrawresource方法(不带后缀的资源文件名)打开这个文件

inputstream fs =this.getresources().openrawresource(r.raw.index.htm); //(资源文件名为, 不需要带后缀.htm)
inputstreamreader read = new inputstreamreader (fs,"utf-8");
bufferedreader in = new bufferedreader(read);

3---读取res/drawable目录下的png或者bmp
resources r = this.getcontext().getresources(); //得到resources对象 
inputstream is = r.openrawresource(r.drawable.mm_image); //以数据流的方式读取资源 
bitmapdrawable bmpdraw = new bitmapdrawable(is);
bitmap bmp = bmpdraw.getbitmap();
如果需要利用图片解码器,如下使用:
inputstream is = getresources().openrawresource(r.drawable.icon);
bitmap mbitmap = bitmapfactory.decodestream(is);
paint mpaint = new paint();
canvas.drawbitmap(mbitmap, 40, 40, mpaint);

4---float density = getresources().getdisplaymetrics().density;//获取屏幕密度

5---context.getresources().getdimensionpixelsize();

                                          //getdimension,

                                         //getdimensionpixeloffset

getdimension和getdimensionpixeloffset的功能类似,都是获取某个dimen的值,但是如果单位是dp或sp,则需要将其乘以density如果是px,则不乘。并且getdimension返回float,getdimensionpixeloffset返回int.
而getdimensionpixelsize则不管写的是dp还是sp还是px,都会乘以denstiy.

6---context.getresources().getcolor(r.color.colorid);//获取颜色资源
7---context.getresources().getstring(r.string.stringid);//获取字符串资源
8---获取字符串数组:
string[] roles = context.getresources().getstringarray(r.array.array_item_values);
\values\array.xml
<string-array name="array_item_values">
<item>3</item>
<item>4</item>
<item>15</item>
<item>11</item>
<item>25</item>
<item>24</item>
<item>7</item>
<item>14</item>
<item>22</item>
<item>8</item>
<item>9</item>
</string-array>

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网