我在操作栏中有一个菜单项。如下图所示,它总是看起来很小。
我希望它的大小约为。这个的两倍。我在 mdpi、hdpi、xhdpi 文件夹中放置了不同大小的图标。因此,这不是与 dpi 相关的问题。
我在 HTC One 和模拟器 xhdpi 中遇到了这个问题。我尝试在 xhdpi 文件夹中放大图标并在模拟器中进行测试,但在操作栏中其大小没有变化。对于 micromax canvas2(hdpi) 它工作正常。
有没有办法设置菜单项的大小来固定高度和宽度?或任何其他解决方法?
我在操作栏中有一个菜单项。如下图所示,它总是看起来很小。
我希望它的大小约为。这个的两倍。我在 mdpi、hdpi、xhdpi 文件夹中放置了不同大小的图标。因此,这不是与 dpi 相关的问题。
我在 HTC One 和模拟器 xhdpi 中遇到了这个问题。我尝试在 xhdpi 文件夹中放大图标并在模拟器中进行测试,但在操作栏中其大小没有变化。对于 micromax canvas2(hdpi) 它工作正常。
有没有办法设置菜单项的大小来固定高度和宽度?或任何其他解决方法?
我有同样的问题,到目前为止我还没有找到解决方案。这是 HTC 特有的,我在 HTC One X 上观察到了这种行为。
他们的 Sense 框架强制使用方形菜单图标,因此它缩小了您的视野。作为一种解决方法,我没有使用菜单项 api,我为操作栏创建了一个自定义视图,并使用以下答案将我的 imageview 对齐到右侧(同时保留标题和主页图标):SherlockActionBar: How to adjust CustomView against动作条
可能您可以使用自定义标题栏:
<?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>
将图片放入drawable-nodpi
文件夹
我通过使用 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);