2016-03-16 175 views
0

將用於ImageButton的圖像與Nine-patch Generator一起使用以檢索所有dpi文件以及保持相應的「.9」擴展名,並在src中引用位圖按鈕的,我仍然得到以下結果與Nexus 5的虛擬仿真器(1080×1920,xxhdpi):爲各種屏幕尺寸縮放ImageButton

enter image description here

...有沒有辦法在地獄的ImageButtons是227X53像素(xxhdpi)這裏...但是,相反,系統會像mdpi那樣檢索較低的dpi。

下面是按鈕的只是一個XML代碼:

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/demosBtn" 
    android:src="@drawable/demo_btn" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:background="@android:color/transparent" /> 

至於演示按鈕的繪製資源文件:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/pressed_demo" android:state_pressed="true"/> 
    <item android:drawable="@drawable/norm_demo"/> 
</selector> 

附:我也試過這與ImageView以及設置爲可點擊,將adjustViewBounds設置爲true,並將scaleType設置爲centerCrop,但它沒有工作。

+0

您正在使用真實9位補丁位圖的圖像?如果是這樣,我可以看到這樣的錯誤。突出顯示的錯誤上方的行使我認爲他們不是。如果是這樣,手動添加擴展將不起作用。你試圖達到什麼樣的最終效果? – wblaschko

+0

好吧,它們最初是縮放PNG圖像,然後我將它們上傳到相應的dpi res目錄中,然後「手動」將dpi文件和目錄的名稱與擴展名「.9」一起更改爲文件的原始名稱如果這就是你要求lol – DaveNOTDavid

+0

http://stackoverflow.com/questions/36039936/scaling-imagebuttons-for-various-screen-sizes ...基本上,Nexus 5(xhdpi)模擬器似乎檢索dpi文件從lpdi目錄改爲。 – DaveNOTDavid

回答

1

使用SVG(可縮放矢量圖形)!您可以將它們縮放到任何分辨率,並且仍然看起來超級高清。 :D

+0

我欣賞這個建議,但我的問題在於,無論何時我引用ImageButton的src中的位圖,系統都會根據屏幕的dpi來選擇錯誤的位圖(如上面編輯文章所示)。 – DaveNOTDavid