无法调整Android菜单项图标的大小

时间:2015-09-03 15:48:15

标签: java android android-actionbar android-xml android-menu

我正在尝试调整我的Android菜单项图标(通过任何必要的方式 - java或XML),但我无法这样做。我能找到的最好的例子可以在这里看到:

How to control image size in menu?

然而,当我尝试这样做时,图标永远不会调整大小(我需要让它们更大):

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);

    Bitmap icon = BitmapFactory.decodeResource(getResources(), R.drawable.icon_share_top_right); //Converting drawable into bitmap
    Bitmap new_icon = resizeBitmapImageFn(icon, 250); //resizing the bitmap
    Drawable d = new BitmapDrawable(getResources(),new_icon); //Converting bitmap into drawable
    menu.getItem(0).setIcon(d); //choose the item number you want to set
    return true;
}

private Bitmap resizeBitmapImageFn(Bitmap bmpSource, int maxResolution) {
    int iWidth = bmpSource.getWidth();
    int iHeight = bmpSource.getHeight();
    int newWidth = iWidth ;
    int newHeight = iHeight ;
    float rate = 0.0f;

    if(iWidth > iHeight ) {
        if(maxResolution < iWidth ) {
            rate = maxResolution / (float) iWidth ;
            newHeight = (int) (iHeight * rate);
            newWidth = maxResolution;
        }
    }else {
        if(maxResolution < iHeight ) {
            rate = maxResolution / (float) iHeight ;
            newWidth = (int) (iWidth * rate);
            newHeight = maxResolution;
        }
    }

    return Bitmap.createScaledBitmap(bmpSource, newWidth, newHeight, true);
}

P.S。

我正在使用三星Galaxy Tab Pro - 而且我在我的drawable-hdpi,drawable-ldpi,drawable中放置了260px X 260px版本的图标我试图做大(icon_share_top_right) -xhdpi和drawable-xxhdpi文件夹(我的原始文件是130px)但图标似乎永远不会增加。

我相信这也可以用我的ActionBar风格来控制 - 但我似乎无法弄清楚如何这样做:

<style name="ActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:actionButtonStyle">@style/ActionButton</item>
    <item name="android:actionBarDivider">@color/white</item>
    <item name="android:divider">@color/white</item>        
    <item name="actionBarSize">48dip</item>
    <item name="android:icon">@drawable/logo_movies_top_left</item>
    <item name="android:displayOptions">useLogo|showHome</item>
    <item name="android:titleTextStyle">@style/NoTitleText</item>
</style>

0 个答案:

没有答案