推 fake01:我是用絕對座標來排版,因為要排介面會有線性排列08/16 12:21
→ fake01:的狀況,沒辦法解決嗎? 因為用絕對座標比較好排XD08/16 12:22
方法就是把px轉成dp.
在http://developer.android.com/guide/practices/screens_support.html
中的Converting dp units to pixel units有提到
先用 float scale = getResource().getDisplayMetrics().density; 取得螢幕density
再將結果套用到公式 int px = (int) (dp * scale + 0.5f);
上面是dp->px, px->dp就麻煩你自己改了
→ ian90911:我用dp結果在手機看可以 在模擬器會擠到旁邊...08/16 12:27
"可以"是指甚麼情況呢~?
→ jaw109:我都用mm :P08/16 13:23
mm跟in也是一種"絕對單位"
小心不同螢幕寬度可能會造成誤差喔~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.199.154
推 nvidia: TypedValue.applyDimension 08/16 18:07
推 fake01:謝謝你 我試試看 :) 08/16 18:36
→ ian90911:手機上看 排的剛好 可是模擬器看 旁邊會有很多空間 08/16 21:06
→ runescape1:@ian,你的viewgroup是用fill_parent還是dp? 08/16 22:16
→ ian90911:我在xml裡設定dp 08/16 22:24
→ runescape1:那就原因所在,vg應該要用fill/match_parent,而不是用dp 08/16 22:59
→ runescape1:fill/match_parent或wrap_content.試試看效果 08/16 23:00
推 fake01:請問用AbsoluteLayout 在JAVA內再把px->dp 有辦法使用嗎 08/17 03:17
→ fake01:我自己嘗試之後不行耶 08/17 03:17
→ runescape1:要使用viewgroup.layoutparams來做設定 08/17 07:15