2017-01-03 54 views
0

我試圖設置一個應用程序徽標到工具欄,並且它在大多數設備上看起來都很好,除了三星Galaxy S7。它看起來微小在這個設備!銀河S7上的工具欄標誌尺寸太小

我這是怎麼設置的繪製到工具欄在我的活動

//.... 
setSupportActionBar(toolbar); 
setToolbarIcon(); 
//... 

private void setToolbarIcon() { 
    Drawable logo = getResources().getDrawable(R.drawable.app_logo); 
    if (toolbar != null) { 
     toolbar.setLogo(logo); 
     toolbar.setTitle(null); 
    }} 

下面的圖像將顯示應用程序的標誌大小如何與工具欄默認標題2級的設備,谷歌Nexus 5X和三星銀河S7

的Nexus 5X Toolbar of Nexus 5X

銀河S7 Toolbar of Galaxy S7

這兩條綠線顯示了每個設備工具欄中標題和徽標房間的差異。

+0

保存高分辨率徽標xxhdpi或xxxhdpi –

回答

2

這是因爲銀河S7使用更大的密度和您的標誌與dp縮放。嘗試添加xxxhdpi標誌的設備與大密度

檢查Supporting Multiple Screens瞭解更多信息

+0

目前'app_logo.png'是'1200 * 370 px'這是分辨率最高的,我可以得到。 –

+0

複製此圖像和android studio中右鍵單擊可繪製的文件夾並將其粘貼到xxxhdpi文件夾中 –

0

設備的Nexus 5X進來xxhdpi的類別,那裏的S7是xxxhdpi。所以你不會根據需要更新繪圖文件夾。

1

雖然爲每個屏幕密度創建了不同的Drawable,但您也可以使用單個VectorDrawable代替。那麼當VectorDrawable自動縮放時,您不必擔心不同的屏幕密度。然而,從圖像中創建VectorDrawable可能有點棘手。這些可能幫助:

https://www.vectorizer.io/

http://inloop.github.io/svg2android/

+0

謝謝,我一直在尋找像vectorizer.io這樣的免費工具,但我失敗了,這就是爲什麼我沒有使用矢量第一個地方。 我會試試看,謝謝 –