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