我正在尝试调整我的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>