2013-04-23 60 views
0

雖然Android可繪製支持多個屏幕是一個相當強大的工具,尤其是它的drawable-sw ??? dp選擇器,我缺乏一個非常重要的功能,那就是支持屏幕尺寸像素選擇器(它可以實現爲drawable-sw?px)。屏幕像素分辨率可繪製的選擇器

想象一下,您有一個應用程序,您希望將某些圖形元素縮放到N%的屏幕尺寸。如果您使用基於dpi的屏幕大小的目錄,則您的圖像在hdpi屏幕上會模糊不清,如果您使用基於dpi的目錄,則它們將在大屏幕上模糊不清。

當然,您可以將這些可繪圖放置到drawables-sw320dp-hdpi,drawables-sw320dp-mdpi等,但這會產生各種圖像版本(和APK大小)和測試環境所需的爆炸。

目前我通過把這種可繪製資產文件夾,並選擇編程他們workarounding這個問題,但是這肯定不是一個理想的解決方案,並從資產加載可繪製不flawlesly工作無處不在。

您如何解決此問題?

+1

我的問題是幾乎重複http://stackoverflow.com/questions/16171390/screen-pixel-resolution-drawable-selector(對不起,搜索沒有顯示它),但我認爲它更好地解釋它:-) 。 – Blackhex 2013-04-23 14:14:36

+0

你把鏈接到當前頁面 – Borzh 2015-04-08 20:16:17

+0

你是對的。不幸的是,我不知道現在的聯繫是什麼。 – Blackhex 2015-04-10 20:40:01

回答

0

在將它們放到項目中之前縮放圖形,然後將它們放到方便的文件夾中。例如假設你有一個bg.jpg,製作700x100,600x80,500x60,400x50的4個版本,並且將它們放在drawable-xhdpi,drawable-hdpi,drawable-mdpi,drawable-ldpi中。如果它不起作用,嘗試使用矢量圖形,它們的像素將在每次縮放時進行預先計算。最後,您可以使用Matrix類進行縮放,但它們可能很難學習和使用。

+0

請仔細閱讀我的問題,你沒有回答實際的話題。 – Blackhex 2013-04-23 14:08:44

+0

好的下面的答案是我目前如何解決它,要麼你會得到更大的apk大小或處理它在你的應用程序,據我所知沒有其他選項 – 2013-04-23 14:13:30

+0

好吧,事實上,你是把資源繪製 - ?dpi文件夾讓我感到困惑,因爲這會產生問題無法解決問題。資源必須位於資產中才能以編程方式加載。 – Blackhex 2013-04-23 14:16:31