質問

I have created menu Item in Action Bar and it's not looking proper in Google Nexus4 but looking good in S3.

Both S3 and Nexus 4 are xhdpi devices and having resolution 1280x800.

What am I missing?

Here is a screenshot:

enter image description here

役に立ちましたか?

解決

The reason being icon is small is NEXUS4 is pure Android. The icon size prescribed for xdpi device is 72x72. Your icon size is different and therefore to accomdate nexus4 is showing small icon.

To draw a custom icon with share action provider , you can see following code :

<?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;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top