2013-08-16 94 views
-1

我正在使用自定義的操作欄創建應用程序。然而,不同的屏幕分辨率,我有不同的看法。我正在嘗試修復它,但沒有辦法實施解決方案。自定義的ActionBar會生成不同的佈局視圖

這是從具有480 * 800分辨率(HDPI)仿真器的佈局:

enter image description here

在另一方面,這是從具有720×1280(XHDPI)具有相同的仿真器的輸出代碼:

enter image description here

正如你所看到的,顯示在右上角有設置的圖標。這是默認的嗎?什麼是可能的方法來消除這一點,並顯示我從HDPI佈局獲得的正確和預期的佈局?

順便說一句,這裏的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相同的輸出。

回答

-1

我解決了這個問題。事實證明,我添加了一個菜單,這在我的應用程序中找到的技術上是無用的。這裏的代碼片段:

public boolean onCreateOptionsMenu(Menu menu) { 
    ..... 
    return true; 
} 

只需刪除這行代碼即可。

0

這不是分辨率,而是您選擇的設備類型。溢出圖標僅出現在沒有菜單硬鍵的手機上。更多信息可以在here找到。

+0

有趣的信息。所以這意味着對於具有硬鍵的設備,我會得到相同的佈局?另外,對於那些沒有菜單鍵的人來說,這會一直顯示嗎? – princepiero

+0

是的。只要你有菜單,它總是會在那裏顯示沒有硬鍵的設備。 – nedaRM

+0

菜單是什麼意思?這是否意味着我明確創建了「設置」菜單? – princepiero