我正在使用自定义操作栏创建应用程序。但是根据不同的屏幕分辨率,我得到了不同的观点我正在尝试修复它,但无法实现解决方案。
这是来自具有480 x 800分辨率(HDPI)的仿真器的布局:
另一方面,这是具有相同代码的720 x 1280(XHDPI)仿真器的输出:
如您所见,带有设置的图标显示在右上角。这是默认的吗?有什么方法可以删除它并显示我从HDPI布局得到的正确和预期的布局?
顺便说一下,这是自定义ActionBar的XML代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<RelativeLayout
android:id="@+id/top_line_1"
android:layout_width="fill_parent"
android:layout_height="1dip" >
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#8284A3" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/top_line_2"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_below="@+id/top_line_1" >
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#6E7095" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/main_action_bar"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:layout_below="@+id/top_line_2"
android:background="@drawable/ab_solid_iformula"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="7dp"
android:paddingTop="6dp" >
<Button
android:id="@+id/main_top_left_button"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="@drawable/rounded_nav_button"
android:minWidth="50dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:paddingBottom="6dp"
android:paddingTop="3dp"
android:text="@string/iformula_top_btn_add"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<Button
android:id="@+id/main_top_right_button"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/rounded_nav_button"
android:minWidth="50dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:paddingBottom="6dp"
android:paddingTop="3dp"
android:text="@string/iformula_top_btn_edit"
android:textColor="#FFFFFF"
android:textSize="12sp" />
<TextView
android:id="@+id/main_top_navigation_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/main_top_right_button"
android:layout_alignBottom="@+id/main_top_right_button"
android:layout_centerHorizontal="true"
android:text="@string/app_name"
android:textColor="#FFFFFF"
android:textSize="18sp"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/below_line"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_below="@+id/main_action_bar" >
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#00103D" />
</RelativeLayout>
</RelativeLayout>
再次,如何使用“设置”删除图标?我需要与HDPI相同的输出。
答案 0 :(得分:0)
这不是分辨率,而是您选择的设备类型。溢出图标仅出现在没有菜单硬件键的手机上。可以找到更多信息here。
答案 1 :(得分:-1)
我解决了这个问题。事实证明我添加了一个菜单,在我的主应用程序中找到的技术上没用。片段:
public boolean onCreateOptionsMenu(Menu menu) {
.....
return true;
}
只需删除此行代码即可。