2012-01-27 96 views
2

我目前正在考慮讓我的Android應用程序在Kindle Fire上工作。我已經爲MDPI和HDPI屏幕提供了一些藝術作品,但是我注意到,當我在Kindle上加載應用程序時,它會顯示MDPI圖稿並延伸我填充父項的一些圖片,比我想要的要多一點。在Kindle Fire上使用HDPI資源

我想知道在某些情況下(比如如果我在Kindle上)Android上是否有任何方法,強制它從HDPI圖片加載,而不是默認爲MDPI。

我意識到我可以將我的HDPI藝術品保存在MDPI文件夾中,名稱略有不同,並且會檢查每個資源,但這會帶來很多開銷,更不用說增加我的應用程序的大小,我也想避免。

謝謝

更新:仍然看着這一個。我想我真的得到了什麼,是否有一種方式讓Android設備選擇HDPI藝術品而不是MDPI,即使MDPI藝術品存在?

回答

1

結束了使用在此期間,一個黑客攻擊的解決方案,但我碰到這個傳來:

I don't want Android to resize my bitmap Automatically

差不多隻需要動我的華電國際影像到nodpi文件夾(爲了避免結垢問題)並稍微更改了名稱(我在名稱中添加了_hd)。從那以後,我做的圖像加載器發生在我想要的圖像的名稱,如果設備是華電國際返回_hd圖像或者如果它的Kindle Fire:

id = ctx.getResources().getIdentifier(string + "_hd", "drawable", context.getPackageName()); 

注:該文檔做不鼓勵使用則getIdentifier的() ,因爲它比僅僅使用資源地址效率低,但是我看了一下加載時間,用getIdentifier加載1000個圖像需要0.25秒,這對我來說很好,尤其是因爲我沒有接近那麼多的地方加載圖片。

1

Kindle Fire的1024x600分辨率爲160 dpi,對吧?

您可以嘗試使用該分辨率的新資源。並將它們放在MDPI文件夾中。 在/ res目錄中添加layout-large並將佈局文件複製到那裏。 這樣,使用Kindle Fire,您可以使用layout-large中的佈局指向MDPI文件夾中較大的資源。

並確保您始終使用九個補丁drawables的資源。

希望這可以幫助你。

+0

感謝您的回覆。不幸的是,我的許多藝術作品並不像9貼圖片那樣好玩,所以MDPI圖片在480x320的屏幕上我看起來不錯,而在800x480的圖片上HDPI圖片看起來不錯,我可以將它加載到Kindle上,但這意味着要麼找到一種方法來重定向kindle以從HDPI文件夾加載,或者將我的作品複製到MDPI文件夾中,如上所述,但這會使我的大小膨脹apk,我想避免。無論如何,這不是一個壞主意,但我想嘗試其他的東西... – user1174195 2012-01-28 23:51:42

+0

> Kindle Fire是1024x600,分辨率爲160 dpi,對吧?不,它的600x1024(:D)169 DPI [https://developer.amazon.com/help/faq.html#KindleFire](https://developer.amazon.com/help/faq.html#KindleFire) – 2012-02-26 22:25:13

0

您可以使用該分辨率嘗試新資源並將它們放在MDPI文件夾中。添加layout-large/res目錄並在那裏複製你的佈局文件。這樣,使用Kindle Fire,您可以使用layout-large的佈局,指向MDPI文件夾中更大的資源。