我一直在使用像素定位的東西(位圖,文本)的表面視圖。例如,爲了居中,我會佔據表示屏幕的矩形的寬度和高度的一半。屏幕寬度和高度正在按預期返回。我的手機(480 * 800)報告可用屏幕爲442 * 800,密度爲1.5,並且在240 * 320模擬器上運行,可用屏幕報告爲221 * 320,密度爲0.75。如預期的那樣。安卓定位像素的作品,但不應該
但是,這些值肯定是像素,所以一定要把中心的東西,我應該先乘以密度因子減半。奇怪的是,所有的東西都完美地集中在低分辨率模擬器和高分辨率手機上。這對我沒有意義。
在這兩個屏幕上,爲了使文本看起來相同,我使用密度縮放值設置大小,正如我所預期的那樣,這可以起作用。
在清單中,我宣佈了所有屏幕尺寸的支持(雖然我看到了同樣的「正確」的行爲,我這樣做之前也)
爲什麼像素值「工作」沒有我他們調整密度?我現在很困惑。
我並不反對。我的觀點是,職位是以dps來規定的,或者說,他們並不像證據表明的那樣。你是否有效地說矩形等的座標等應該以像素爲單位給出?這難道不會寫難以在不同設備上明智地定位事物的代碼嗎? – Dave
我可能會感到困惑。你開始說「我一直在使用像素在表面視圖上定位東西(位圖,文本)。」我假設你正在使用原始像素來定位事物,如果你正在測量設備並進行數學計算,這很好。或者我完全錯過了這一點?請記住,DIP(或DP)和DPI是完全不同的東西,不是像素(儘管DIP名稱 - 這是一個比例)。 – Simon
我一直在使用原始像素,一切都很好,但後來發現它「不應該」在工作(儘管顯然是這樣,因此我很困惑)。但是,我想我現在已經明白了。系統預計以像素爲單位的座標(自然)。如果我想讓某些東西在屏幕中間加上「一點」,然後在不同的分辨率屏幕上使這個「位」看起來「相同」,我需要調整「位「的密度,然後將其添加到明顯必須保持不變的中心像素位置。通常情況下,大聲說出事情(在這種情況下寫作)使得便士下降。 – Dave