Android应用中操作栏的图像大小

时间:2014-12-11 08:54:07

标签: android android-actionbar menuitem

在Android应用程序中,我想将操作栏修复到屏幕底部。

操作栏有6个图标。

我写下了以下代码。

在Galaxy Note3(Andoid4.4.2)中它很顺利。但是,在Experia SOL21(Android4.1.2)中,图标大小未调整到适当的大小,如下图所示。

你能告诉我如何解决这个问题吗?

[Experia SOL21(Android4.1.2)中的图片] Image in Experia SOL21(Android4.1.2) http://it-techintern.com/image1.png

[我的代码]

AndroidManifest.xml中的

    <activity
        android:name="com.myapp.DetailActivity"
        android:uiOptions="splitActionBarWhenNarrow" >
        <meta-data
            android:name="android.support.UI_OPTIONS"
            android:value="splitActionBarWhenNarrow" />
    </activity>

在Activity.java中

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {

    MenuItem actionItemBack = menu.add("Back");
    MenuItem actionItemForward = menu.add("Forward");
    MenuItem actionItemLine = menu.add("Twitter");
    MenuItem actionItemTw = menu.add("icon4");
    MenuItem actionItemFb = menu.add("icon5");
    MenuItem actionItemFav = menu.add("icon6");

    actionItemBack.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    actionItemForward.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    actionItemLine.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    actionItemTw.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    actionItemFb.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    actionItemFav.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

    actionItemBack.setIcon(R.drawable.back);
    actionItemForward.setIcon(R.drawable.next);
    actionItemLine.setIcon(R.drawable.twitter);
    actionItemTw.setIcon(R.drawable.icon4);
    actionItemFb.setIcon(R.drawable.icon5);
    actionItemFav.setIcon(R.drawable.icon6);

    return true;
}

2 个答案:

答案 0 :(得分:3)

你必须得到不同大小的图像,如

48 * 48尺寸的图像放在drawable-hdpi文件夹中。

32 * 32尺寸的图像放在drawable-mdpi文件夹中。

64 * 64大小的图像放在drawable-xhdpi文件夹中。

96 * 96尺寸的图像放在drawable-xxhdpi文件夹中。

答案 1 :(得分:2)

它们必须是32x32dp,但实际图像本身应该是24dpx24dp居中。 Android设计网站有correct guidelines

另见Supporting Multiple Screens