2017-09-27 44 views
1

嗨我是新的Android開發,這是我的第一個應用程序。應用程序的用戶界面不適合在220 dpi的屏幕

我已經在地址:app \ src \ main \ res中創建了這些文件夾,用於支持多個手機和平板電腦屏幕並在其中放置適當的dimens.xml文件。

  • 值-LDPI
  • 值-MDPI
  • 值-HDPI
  • 值-xhdpi
  • 值-xxhdpi
  • 值-xxxhdpi
  • 值-sw600dp
  • 值 - sw768dp
  • values- sw800dp

    1. 首先,它們是完整的還是我缺少一些屏幕尺寸?

    2. 第二,我已經測試了幾款設備上的應用程序,它的工作正常,並且在所有手機上都有適當的用戶界面,但Galaxy Grand Prime擁有5英寸540 x 960像素顯示屏,意味着220 dpi。這款手機使用hdpi尺寸但UI有點混亂。

下面的圖片可以讓我好點:

proper UI , as it is shown in other devices

適當的UI,因爲它是在其他設備

顯示VS

UI in galaxy grand prime 220 dpi display

012在星系宏偉黃金220 dpi的顯示器

UI

的UI在其他設備完全OK,我想我應該爲那種dpi的具體dimens.xml文件,所以我做了價值觀sw220dp。但在此之後,其他手機使用這個維度而不是hdpi維度,問題變得更糟,因爲用戶界面在星系手機中很好,並且在其他hdpi顯示中不合適。現在我不知道該怎麼辦。

任何人都可以幫助我解決這個問題嗎?

最後對不起,因爲我的英語有缺陷,因爲你可以猜到我不是本地人。

+1

你混合兩種o f資源選擇器:mdpi,ldpi等基於dpi桶,但sw600dp表示「最小屏幕寬度爲600dp的設備」所有手機的屏幕最小側大於220dp。 –

+0

我對平板電腦做了這個,所以我應該怎麼做才能支持平板電腦屏幕? –

+0

我刪除了sw600dp,sw768dp和sw800dp xmls,但它仍然不適用於上述設備 –

回答

1

它們是完整的還是我缺少一些屏幕尺寸?

如果您閱讀我在回答結尾處提到的指南,您會發現定義資源文件夾的可能性非常多。我認爲沒有人會想要實施所有這些。

通常你看看你的應用程序,然後決定你想要支持的三到四種屏幕尺寸。我認爲「sw220dp」很重要,如果只是爲了顯示一條消息,說明你的應用需要更多空間:-)。

所以可能有三到五個佈局文件夾(sw220dp,sw320dp,也許sw480dp,sw600dp,也許sw820dp)。如果你需要與方向有關的佈局,那麼這個數字將會是那麼多。 (爲什麼?在下面的指南中解釋得非常好)

您已經知道有不同類型的資源。其中一些不依賴於屏幕分辨率(例如佈局文件),有些可以(可繪製資源)。

因此,首先您決定要支持哪些屏幕尺寸。假設他們是「電話」,「平板電腦」和「220dp」。您可以通過同一個名字「my_activity.xml」創建三個佈局文件並把它們放在三個文件夾

  • 爲真正的小窗口:RES /佈局sw220dp
  • 爲移動電話:RES /佈局sw320dp
  • 爲片劑:RES /佈局sw600dp

順便提一句, 「SW」 表示最小寬度這是屏幕的最小長度,無論目前的方向如何。

現在讓我們假設你已經創建了三個不同的佈局文件和所有的人都包含一個ImageView這樣的:

<ImageView 
    android:layout_width="24dp" 
    android:layout_height="24dp" 
    android:src="@drawable/my_picture" /> 

這就是屏幕分辨率進場:24dp是一個大小值「密度 - 獨立像素「。這將根據設備的屏幕分辨率來解決。所以你需要不同版本的my_picture.png,爲此你需要不同的drawables文件夾。他們是如此運行時知道不同類別的屏幕分辨率命名的PNG文件以選取其中:

  • RES /繪製/ LDPI(雖然我讀的地方,你可以跳過,因爲圖片將被縮小HDPI很好)
  • RES /抽拉-MDPI(或等價RES /抽拉
  • RES /抽拉-HDPI
  • RES /繪製-xhdpi
  • RES /繪製-xxhdpi
  • RES /繪製-xxxhdpi

幫助鏈接:

Providing Resources

Supporting Multiple Screens

+0

對不起,我沒有得到它很好。首先我沒有任何可繪製的應用程序(順便說一句,我已經知道如何處理它們)。第二,你建議將mdpi,ldpi等類型更改爲sw220dp,sw320dp等,並使用不同的佈局,而不是不同的維度?那麼你提到的5種尺寸足以支持所有屏幕尺寸? –

+0

@Mohsen Hesa​​ri - ** - mdpi **等文件夾是可繪製的,而不是佈局文件。關於佈局文件:您還可以將具有不同維度值的不同佈局文件組合在一起。爲了讓您的應用在所有屏幕上都看起來很好,它與佈局文件中的內容非常相關。這是以最佳方式組合所有這些部分的問題。是的,一個方向的5個屏幕尺寸就足夠了(或者從可維護性的角度來看,甚至可能太多)閱讀鏈接指南並開始自己的實驗:) – 0X0nosugar

相關問題