一種是網上的單位轉換**:
/**
* 根據手機的解析度從 dp 的單位 轉成為 px(畫素)
**@param context
*@param dpvalue
*/public
static
intdip2px(context context, float dpvalue)
/**
* 根據手機的解析度從 px(畫素) 的單位 轉成為 dp
**@param context
*@param pxvalue
*/public
static
intpx2dip(context context, float pxvalue)
/**
* 將px值轉換為sp值,保證文字大小不變
* *@param pxvalue
*@param fontscale
* (displaymetrics類中屬性scaleddensity)
*@return
*/public
static
intpx2sp(context context, float pxvalue)
/**
* 將sp值轉換為px值,保證文字大小不變
* *@param spvalue
*@param fontscale
* (displaymetrics類中屬性scaleddensity)
*@return
*/public
static
intsp2px(context context, float spvalue)
另一種是用安卓自帶的類轉換。
實際上,android中也提供了單位轉換的函式,那就是typedvalue類。
typedvalue.complex_unit_sp,16 設定成16sp。
typedvalue:這個類是工具類,作為乙個動態容器,它存放一些資料值,這些值主要是
resource中的值。typedvalue類把對應的值轉化為實際螢幕上的點值,也就是畫素
值。具體的用法如下:
其中,第乙個引數是你想要得到的單位,第二個引數是你想得到的單位的數值,第三個
引數封裝了顯示區域的各種屬性值。
例如,我要得到乙個25sp,那麼我就用
25,context.getresources().getdisplaymetrics())
就是說,我想要乙個25(第二個引數)sp(第乙個引數)在當前裝置上對應的px值。
注意:complex_unit_dip:乘以顯示密度density(dpi/160)。
typedvalue.complex_unit_sp:乘以畫素密度scaleddensity(=density)。
安卓開發 Activity狀態的轉換
activity狀態會根據使用者的不同操作進行轉換。上午導師過來指點了一下,說明了一下 規範,並且檢查了一下昨天的學習情況。其中發現,我對activity狀態轉換有點模糊。按安卓機器上的home鍵和返回鍵,一直到返回主介面,activity的狀態是不同的。按home鍵的時候,最後顯示的這個介面的狀態...
安卓開發Activity轉換動畫
安卓開發執行時,頁面切換的動畫效果對使用者體驗有一定影響,以前不知道怎麼弄的,還以為是主題自帶的 package com.example.activitytransfer import android.content.intent import android.os.bundle import an...
Unity與安卓通訊
unity5.0以後,將unityplayeractivity打成jar包,打包報錯。解決方法 將bin下面所有包含r的類刪掉再打jar包,打jar包命令 cd到classes目錄,jar cvf jar 記錄下plugins android下面的檔案位置 1 jar包 res資料夾 android...