欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

轉:Android中尺寸單位雜談

系統 1908 0

講解一

在android系統中單位DP也就是DIP:device independent pixels(設備獨立像素).

dip : device independent pixels(設備獨立像素). 不同設備有不同的顯示效果,這個和設備硬件有關,一般我們為了支持WVGA、HVGA和 QVGA 推薦使用這個,不依賴像素。   

?


px : pixels(像素). 不同設備顯示效果相同,一般我們HVGA代表320x480像素,這個用的比較多。  


pt : point,是一個標準的長度單位,1pt=1/72英寸,用于印刷業,非常簡單易用;  


sp : scaled pixels(放大像素). 主要用于字體顯示best for textsize。  


dp也就是dip。這個和sp基本類似。如果設置表示長度、高度等屬性時可以使用dp或sp。但如果設置字體,需要使用sp。dp是與密度無關,sp除了與密度無關外,還與scale無關。如果屏幕密度為160,這時dp和sp和px是一樣的。 1dp=1sp=1px,但如果使用px作單位,如果屏幕大小不變(假設還是3.2寸),而屏幕密度變成了320。那么原來TextView的寬度設成 160px,在密度為320的3.2寸屏幕里看要比在密度為160的3.2寸屏幕上看短了一半。但如果設置成160dp或160sp的話。系統會自動將 width屬性值設置成320px的。也就是160 * 320 / 160。其中320 / 160可稱為密度比例因子。也就是說,如果使用dp和sp,系統會根據屏幕密度的變化自動進行轉換.

講解二

2.1 使用尺寸(dimen)資源

我們可以使用一些常用的尺寸單位來定義一些文字尺寸、視圖組件的寬和高等。尺寸資源是一個數字類型的數據,被定義在res\values\dimens.xml文件中。

2.1.1 Android中支持的尺寸單位

在計算機中一般我們會用到的尺寸單位有厘米(cm)、毫米(mm)、像素(px)、英尺(in)等。Android中支持的尺寸單位如表3.4所示。

表 Android中支持單位

? ? ?

? ? ?

? ? ?

px

像素

屏幕上的真實像素表示

in

英尺

基于屏幕的物理尺寸


續表

? ? ?

? ? ?

? ? ?

mm

毫米

基于屏幕的物理尺寸

pt

英尺的 1/72

dp

和密度無關的像素

相對屏幕物理密度的抽象單位

sp

和精度無關的像素

dp 類似

2.1.2 尺寸資源XML文件的定義

尺寸資源是定義在XML文件中的一些整型數值。有關尺寸資源的定義如表3.5所示。

表3.5 尺寸資源的定義和使用

? ? ?

res/values/dimens.xml

尺寸 XML 文件格式

使用 <?xml version="1.0" encoding="utf-8"?>

<resources> 根元素

<dimen> 子元素: <dimen name=

dimen_name>dimen_value</dimen>

獲得尺寸資源的方法

getResources().getDimension()

引用尺寸資源的格式

Java 代碼中: R.dimen.dimen_name

XML 文件中: @[package:]dimen/dimen_name

2.1.3 尺寸資源XML文件的使用

下面還是通過一個實例來演示尺寸資源的用法。該實例在布局文件中添加一個TextView和一個Button,分別使用尺寸資源文件來定義它們的寬和高。

在工程的res\values\目錄下創建一個dimens.xml尺寸資源文件。

    <?xmlversion="1.0"encoding="utf-8"?>
<resources>
<dimenname="text_width">150px</dimen>
<dimenname="text_height">100px</dimen>
<dimenname="btn_width">30mm</dimen>
<dimenname="btn_height">10mm</dimen>
</resources>
  

?

在工程的res\layout\目錄下創建一個test_dimen.xml布局文件。在該布局文件中添加一個TextView和一個Button。TextView的寬和高引用尺寸資源來設置。Button的寬和高在代碼中設置。

    
  1. <? xml version = "1.0" encoding = "utf-8" ?>
  2. < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
  3. android:orientation = "vertical" android:layout_width = "fill_parent"
  4. android:layout_height = "fill_parent" >
  5. < TextView
  6. android:text = "@string/test_dimen"
  7. android:id = "@+id/myDimenTextView01"
  8. android:layout_width = "wrap_content"
  9. android:layout_height = "wrap_content"
  10. android:width = "@dimen/text_width"
  11. android:height = "@dimen/text_height"
  12. android:background = "@color/red_bg"
  13. />
  14. < Button
  15. android:text = "@string/test_dimen1"
  16. android:id = "@+id/Button01"
  17. android:layout_width = "wrap_content"
  18. android:layout_height = "wrap_content" > </ Button >
  19. </ LinearLayout >

在com.amaker.dimen包中,創建一個TestDimensionActivity類。在該類頂部聲明使用的Button視圖組件,在onCreate()方法中實例化該組件,并定義尺寸資源設置其寬和高。

    
  1. packagecom.amaker.ch03.dimen;
  2. importandroid.app.Activity;
  3. importandroid.content.res.Resources;
  4. importandroid.os.Bundle;
  5. importandroid.widget.Button;
  6. importcom.amaker.test.R;
  7. /**
  8. *
  9. *@author郭宏志
  10. *測試尺寸資源
  11. */
  12. publicclassTestDimensionActivityextendsActivity{
  13. privateButtonmyButton;
  14. @Override
  15. publicvoidonCreate(BundlesavedInstanceState){
  16. super.onCreate(savedInstanceState);
  17. //設置當前Activity的內容布局視圖
  18. setContentView(R.layout.test_dimen);
  19. //通過findViewById方法獲得Button實例
  20. myButton =(Button)findViewById(R.id.Button01);
  21. //獲得Resources實例
  22. Resources r = getResources ();
  23. //通過getDimension方法獲得尺寸值
  24. float btn_h = r .getDimension(R.dimen.btn_height);
  25. float btn_w = r .getDimension(R.dimen.btn_width);
  26. //設置按鈕的寬
  27. myButton.setHeight((int)btn_h);
  28. //設置按鈕的高
  29. myButton.setWidth((int)btn_w);
  30. }
  31. }

運行程序,結果如圖3.4所示。

?

轉:Android中尺寸單位雜談
圖3.4 尺寸資源應用

轉:Android中尺寸單位雜談


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 九九九视频 | 欧美一级网址 | 在线观看网 | 欧美一区二区三区在线可观看 | 久久视频在线免费观看 | 极品在线 | 国产亚洲综合一区在线 | 一区二区三区四区不卡视频 | 日韩精品www | 波多久久亚洲精品AV无码 | 日本一区二区三区四区在线观看 | 日本高清无卡码一区二区久久 | 日本在线国产 | 免费看成年人网站 | 中文字幕在线一区二区三区 | 久久99精品久久久久久国产越南 | 欧美一级毛片欧美毛片视频 | 无码日韩精品一区二区免费 | 日本www.在线中文字幕 | 国产成人无码网站m3u8 | 波多野结衣在线高清视频 | 日本黄视频在线观看 | 一级做a爱过程免费视频麻豆 | 国产精品成人无码A片免费网址 | 久久99热这里只频精品6中文字幕 | 成人网在线观看 | 成人精品久久 | 国产午夜大片 | 欧美日韩亚洲视频 | 在线亚洲成人 | 99久久精品费精品国产一区二区 | 中文字幕日韩欧美一区二区三区 | 一区二区三区日韩精品 | 国产精品九九久久99视频 | 性视频亚洲 | 国产一区二区精品丝袜 | 精品综合网 | 午夜免费 | 完全免费在线视频 | 精品卡1卡二卡3卡 | 天天拍夜夜爽 |