1. 程式人生 > >Android 獲取 上下文環境參數 getResources

Android 獲取 上下文環境參數 getResources

ole html 上下文環境 map() 參數 字符串資源 dex -c buffered

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>

Android 獲取 上下文環境參數 getResources