欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 获取 上下文环境参数 getResources

程序员文章站 2023-11-04 20:21:40
1 context.getResources().getConfiguration().orientation;//获取屏幕方向int类型,1:portrait,2:landscape 2 把资源文件放到应用程序的/raw/raw下,以openRawResource方法(不带后缀的资源文件名)打开这 ......

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

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

inputstream fs =this.getresources().openrawresource(r.raw.index.htm); //(资源文件名为index.html, 不需要带后缀.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>