2

我在操作栏中有一个菜单项。如下图所示,它总是看起来很小。

在此处输入图像描述

我希望它的大小约为。这个的两倍。我在 mdpi、hdpi、xhdpi 文件夹中放置了不同大小的图标。因此,这不是与 dpi 相关的问题。

我在 HTC One 和模拟器 xhdpi 中遇到了这个问题。我尝试在 xhdpi 文件夹中放大图标并在模拟器中进行测试,但在操作栏中其大小没有变化。对于 micromax canvas2(hdpi) 它工作正常。

有没有办法设置菜单项的大小来固定高度和宽度?或任何其他解决方法?

4

4 回答 4

3

我有同样的问题,到目前为止我还没有找到解决方案。这是 HTC 特有的,我在 HTC One X 上观察到了这种行为。

他们的 Sense 框架强制使用方形菜单图标,因此它缩小了您的视野。作为一种解决方法,我没有使用菜单项 api,我为操作栏创建了一个自定义视图,并使用以下答案将我的 imageview 对齐到右侧(同时保留标题和主页图标):SherlockActionBar: How to adjust CustomView against动作条

于 2013-10-27T16:37:08.017 回答
1

可能您可以使用自定义标题栏:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:background="@drawable/action_bar"
    android:orientation="horizontal" >

<LinearLayout
    android:id="@+id/slidingmenu"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content" 
    android:paddingLeft="20dip"
    android:layout_centerInParent="true" 
    android:layout_alignParentLeft="true">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/slidingmenu_selector" 
        android:duplicateParentState="true" />
 </LinearLayout>


<TextView
        android:id="@+id/myheading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textColor="#000000"
        android:textStyle="bold"
        android:textSize="23dp" />

<LinearLayout
    android:id="@+id/homemenu"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content" 
    android:paddingRight="20dip"
    android:layout_centerInParent="true" 
    android:layout_alignParentRight="true">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/homemenu_selector" 
        android:duplicateParentState="true" />
 </LinearLayout>


</RelativeLayout>
于 2013-10-25T08:51:27.337 回答
1

将图片放入drawable-nodpi文件夹

于 2013-10-27T16:51:31.650 回答
0

我通过使用 menuitem 的自定义视图解决了这个问题。

菜单项的布局:

    <ImageButton
        android:id="@+id/first_menu_item"
        android:layout_width="56dp"
        android:layout_height="33dp"
        android:layout_gravity="center"
        android:contentDescription=""
        android:background="@drawable/menu_item_background"
        android:gravity="center" />

</LinearLayout>

为活动中的操作栏设置自定义视图:

// Set custom menu items for action bar
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,
                    LayoutParams.WRAP_CONTENT, Gravity.RIGHT
                            | Gravity.CENTER_VERTICAL);   // Set Layout Parameters
lp.setMargins(5, 5, 10, 5); // Left, top, right, bottom margins
View view = LayoutInflater.from(this).inflate(
                    R.layout.actionbar_menu_item, null);
ImageButton menuItem = (ImageButton) view
                    .findViewById(R.id.first_menu_item);
menuItem.setImageDrawable(getResources().getDrawable(
                    R.drawable.edit_button));
menuItem.setOnClickListener(this);
actionBar.setCustomView(view, lp);
actionBar.setDisplayShowCustomEnabled(true);
于 2013-11-01T08:43:24.417 回答