編輯:關於Android編程
其實這些個drawable的使用並不難,也不需要去哪裡百度或者Google找答案,直接自己試驗一下即可。
如:ic-launcher圖標具體大小是多少,如有的人把一張512 x 512的圖片當成ic-launcher,在高分辨率手機上沒有問題,但是在一些低分辨率手機上發現桌面上找不到自己應用的圖標,或者顯示名稱但看不到圖標,想找ic-launcher標准大小嗎?創建一個Android項目不就有了嗎?看系統生成的那些ic-launcher在各種drawable上的大小即可,這就是最標准的了,何需百度,出圖標的時候就讓美工按著那些圖標大小出就不會有問題了。
又如,通知欄圖標要多大呢?如果大小不合適,則顯示通知的時候看到的圖標可能顯示不全或者其它問題,要想知道通知欄圖標多大合適,找Android系統設計的那些呀,路徑為:sdkplatformsandroid-15data es,在這裡搜索notification,然後看看相同名字的通知欄圖標在不同的drawable中的大小是多少,這樣你就知道你應該讓美工給你切多大的通知欄圖標了^_^
接下來了解本質的東西,下面的內容都是我拿真實手機測試出來的結果,所以應該比百度出來的那些更有真實性。
一般手機的分辨率對應的各參數為:
drawable-ldpi 文件夾: 低密度屏幕:dpi = 120dp,scale = ??, 超級元老,不用管它,不會再有這種dpi的手機的啦!drawable-mdpi 文件夾: 中等密度屏 幕:dpi = 160dp,scale = 1.0,分辨率:320 x 480drawable-hdpi 文件夾: 高密度屏幕:dpi = 240dp,scale = 1.5,分辨率:480 x 854drawable-xhdpi 文件夾: 超高密度屏幕:dpi = 320dp,scale = 2.0,分辨率:720 x 1280drawable-xxhdpi文件夾: 超超高密度屏幕:dpi = 480dp,scale= 3.0,分辨率:1080 x 1920
scale 為縮放系數,標准的dpi是160dpi,所以160dpi的scale為1.0,其它dpi的縮放系數都是與160相比算出來的,如320dpi,它除以160dpi結果為2,所以320dpi的scale為2.0
好,有了這個scale之後呢創建圖片就簡單了,怎麼個簡單法?先找出160dpi對應的大小就OK了。
如,美工設計了一張很美的圖片,而且是以720 x 1080的分辨率為基礎進行設計,假如寬高都為300像素,則這張圖放在720 x1280的手機上顯示肯定是完美的,如果放到其它分辨就有可能會被壓縮或者放大,那效果就會大打折扣,所以我們大家都知道要切多套圖片放到不同的drawable目錄中,那問題來了,美工如果她不懂,她問你,其它分辨率怎麼切圖?
怎麼切呢?我們就先算出160dpi對應的大小就行了,它切的圖是以720 x 1080的手機為基礎設計的,這個分辨率對應的是xhdpi,scale是2.0,所以160dpi對應的大小就是:300 / 2.0 = 150像素,那這樣的話4種drawable的圖片怎麼切就有答案了:
160dpi 的圖片大小為150像素,那其它的就按scale去算就好了,如下:drawable-hdpi: 150* 1.5 = 225drawable-xhdpi: 150 *2.0 = 300drawable-xxhdpi: 150 *3.0 = 450
就目前情況來說,切圖切4套就夠了。
假如,有一張圖片,你並不知道它是在哪個分辨率的基礎上進行設計的,那你就不知道這張圖片應該放在哪個drawable文件夾中,這種情況經常會遇到,比如我們學習Android時的那些圖片,根本不知道是誰設計的,也不知道是在哪個分辨率的基礎上設計的,那你怎麼知道放在哪個drawable文件夾中比較合適呢?一般人會選擇放在drawable-hdpi 文件夾中,或許吧,多人這麼做肯定是這樣做一般沒什麼問題,但是,同一張圖片,注:只有一張圖片哦,把它放到不同的drawable文件夾中,然後在同一台手機上的顯示效果會不一樣哦,為什麼會這樣呢?嗯,夜已深,我先睡覺,有時間再來寫完它。。。
在做項目的時候,因為要用到我們自動獲取聯系人的姓名和電話,就想到了ContentProvider分享數據的功能,這樣做既節省了時間,也減少了我們輸入錯誤號碼的幾率,所以,
ListView是android中最常用的控件之一。 在實際運用中往往會遇到一次性加載全部數據過多,需要分頁加載增加程序運行效率! 本demo是將更新的監聽放在listv
Android N 通知欄和快捷通知欄帶來的改變Android N 引入了一些新的API,允許應用發布具有高度可見性和交互性的通知。Android N 擴展了現有 Rem
Android提供了實現按照秒計時的API,今天就是用這個API實現簡單的倒計時。來個布局:<?xml version=1.0 encoding=utf-8