2013-05-05 67 views
0

我在Action Bar中創建了菜單項,它在Google Nexus4中看起來不合適,但在S3中看起來不錯。Nexus 4菜單圖標問題

S3和Nexus 4均爲xhdpi設備,分辨率爲1280x800。

我錯過了什麼?

這裏是一個屏幕截圖:

enter image description here

+2

你能解釋一下什麼是錯呢?我沒有看到明顯的東西。對於沒有正確解釋的道歉, – FoamyGuy 2013-05-05 18:22:24

+0

。 Enter Contest圖標在Nexus4中顯示較小,在S3中圖標的大小與B圖標相當。 – vineet 2013-05-05 19:12:57

+0

圖標從哪裏來?這是一個PNG嗎? – FoamyGuy 2013-05-05 19:19:15

回答

0

的原因是圖標是小是NEXUS4是純的Android。爲xdpi設備規定的圖標大小是72x72。你的圖標大小是不同的,因此適應nexus4顯示小圖標。

來繪製份額的行動提供自定義圖標,你可以看到下面的代碼:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:id="@+id/contest" 
    android:actionLayout="@layout/actionbar_view" 
    android:showAsAction="ifRoom" 
    android:title="Contest"/> 
<item 
    android:id="@+id/menu_item_share" 
    android:actionProviderClass="android.widget.ShareActionProvider" 
    android:showAsAction="ifRoom"/> 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate menu resource file. 
    getMenuInflater().inflate(R.menu.menu, menu); 

    // Locate MenuItem with ShareActionProvider 
    MenuItem item = menu.findItem(R.id.menu_item_share); 
    MenuItem contestItem = menu.findItem(R.id.contest); 
    // Fetch and store ShareActionProvider 
    mShareActionProvider = (ShareActionProvider) item.getActionProvider(); 

    contestItem.getActionView().setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(final View view) { 
      // on click code 
     } 
    }); 

    return true; 
}