Android 获取 上下文环境参数 getResources

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>

转载于:https://www.cnblogs.com/polo/p/9922867.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值