2015-08-24 112 views
24

我有以下的菜單項:如何更改NavigationView中菜單項圖標的大小?

<item 
     android:id="@+id/lock" 
     android:checkable="true" 
     android:title="@string/lock" > 
    <menu > 

     <item 
      android:id="@+id/block_mess" 
      android:checked="true" 
      android:icon="@drawable/chantinnhan" 
      android:title="@string/block_mess_string" /> 

     <item 
      android:id="@+id/block_call" 
      android:checked="false" 
      android:icon="@drawable/chancuocgoi" 
      android:title="@string/block_call_string" /> 

     <item 
      android:id="@+id/lock_app" 
      android:checked="false" 
      android:icon="@drawable/khoaungdung" 
      android:title="@string/lock_app_string" /> 


    </menu> 
    </item> 

...還是有更多的,但它真的很長

,但圖標是非常小的(即使它具有256×256水庫)。我想讓它變大!那可能嗎? 下面是截圖:

enter image description here

編輯:好的,我們都知道,谷歌「鎖」圖標的大小。但我想知道,我可以「繞過」該鎖,並做出...定製?

+0

對此有什麼好運?我還卡在 –

+0

@AmanVerma仍然沒有運氣,好友:(( –

+0

)我們有任何示例應用程序有比這個大小更大的圖標?即使Gmail具有相同大小的圖標我聽說和閱讀的是,navigationView遵循材料設計準則,使圖標大小符合該準則。 –

回答

45

您可以通過覆蓋design_navigation_icon_size屬性更改navigationView圖標的大小。你可以把它放在維度中,因爲你重寫了一個私有屬性,所以你需要包含tools:override="true"

<dimen name="design_navigation_icon_size" tools:override="true">40dp</dimen> 
+0

相當古老的問題。但這仍然是一個正確的答案。接受:D –

+0

重寫屬性設置爲true是必要的嗎?因爲我認爲在java中用戶定義的屬性始終具有最高的值。 – Abhishek

+0

沒有覆蓋屬性設置爲true,將不會有任何更改,因爲android會否定該值。 –

4

根據Google本身設置的設計文檔,圖標應該設置爲14sp。我建議你遵守這個建議,因爲這是一個在所有應用程序中使用的標準。正如你所說,導航抽屜裏沒有大圖標的應用程序,因爲開發導航抽屜圖標時這不是常態。

enter image description here

+0

如果這對你有幫助,你可以接受並點贊嗎?非常感謝:) –

+0

我們都知道Google會「鎖定」圖標大小。但是我想問的是,我可以通過編程方式「繞過」鎖定。但是,對你而言,是一個滿意的答案:D –

+0

你可以嘗試和導航視圖的實際佈局xml文件一起玩,但隨後再次我相信Google會將其鎖定到特定的大小。所以沒有辦法繞過這個。 –

9

是決定圖標的大小尺寸的主要事情:navigation_icon_size,看看在NavigationMenuItemView類:

public NavigationMenuItemView(Context context, AttributeSet attrs, int defStyleAttr) { 
    super(context, attrs, defStyleAttr); 
    this.mIconSize = context.getResources().getDimensionPixelSize(dimen.navigation_icon_size); 
} 

這樣,我們就可以在此改變物業在我們夢詩文件。

例如:

<dimen name="navigation_icon_size">48dp</dimen> 

添加代碼在夢詩文件,你可以找到它的大小改變。

前:

enter image description here

後:

enter image description here

+2

添加,沒有反應! –

+0

e ...我很抱歉,但我的變化... –

+0

這是如此的werid ...我會嘗試找到另一種方式來做到這一點。 –

16

得到解決

品牌在維度中輸入。

<dimen name="design_navigation_icon_size">48dp</dimen> 
相關問題