2014-07-03 23 views
3

嗨我有三個菜單項默認情況下在右側顯示 。如何對齊操作欄中的菜單項

我想在左邊最右邊顯示一個菜單,右邊顯示其他兩個菜單。

我menu.xml文件的文件將作爲

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
    android:id="@+id/action_version" 
    android:orderInCategory="100" 
    android:showAsAction="never" 
    android:title="@string/action_version"/> 
    <item 
    android:id="@+id/action_settings" 
    android:orderInCategory="100" 
    android:showAsAction="never" 
    android:title="@string/action_settings"/> 
    <item 
    android:id="@+id/action_refresh" 
    android:actionViewClass="android.support.v7.widget.RefreshView" 
    android:icon="@drawable/ic_refresh_holo_dark" 
    android:orderInCategory="100" 
    android:gravity ="left" 
    android:layout_gravity="left" 
    android:showAsAction="ifRoom|collapseActionView" 
    android:title="Refresh"/> 

    </menu> 

我該如何調整在最左邊和其他刷新菜單上的權利而已。

+1

爲了做到這一點,你必須創建了'ActionBar'自定義視圖。 –

+0

好的但我怎麼給點擊效果就像明智的選項菜單項 –

+0

你只需要在你的自定義視圖中使用默認樣式。 –

回答

4

所以最後我做了。

我的自定義操作欄的XML文件作爲

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="50dp" 
android:layout_gravity="fill_horizontal" 
android:background="@color/grey" 
android:orientation="horizontal" > 

<ImageButton 
    android:id="@+id/imgrefresh" 
    android:layout_width="40dp" 
    android:layout_height="fill_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_centerVertical="true" 

    android:layout_marginLeft="10dp" 
    android:onClick="toggleMenu" 
    android:background="@drawable/img_refresh_click" 
    android:scaleType="centerInside" 
    android:src="@drawable/ic_refresh_holo_dark" /> 

<CustomEditText 
    android:id="@+id/txtSearchURL" 
    android:layout_width="fill_parent" 
    android:layout_height="40dp" 
    android:layout_centerVertical="true" 
    android:layout_gravity="center" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="0dp" 
    android:layout_toRightOf="@+id/imgrefresh" 
    android:background="@drawable/url_background" 
    android:drawableRight="@drawable/ic_stop_holo_dark" 
    android:focusableInTouchMode="true" 
    android:hint="@string/search_url_hint" 
    android:imeOptions="actionGo" 
    android:paddingLeft="5dp" 
    android:paddingRight="5dp" 
    android:scrollHorizontally="true" 
    android:singleLine="true" 
    android:textColor="@color/white" /> 

哪裏img_refresh_click indrawable是

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_pressed="true"><shape> 
     <gradient android:angle="270" android:endColor="#33819F" android:startColor="#33819F" /> 
    </shape></item> 

<item><shape> 
     <gradient android:angle="270" android:endColor="@android:color/transparent" android:startColor="@android:color/transparent" /> 


    </shape></item> 

現在裏面onCreate()方法

ActionBar actionBar = getActionBar(); 
    getActionBar().setDisplayShowHomeEnabled(false); 
    actionBar.setDisplayHomeAsUpEnabled(false); 
    actionBar.setDisplayShowCustomEnabled(true); 
    actionBar.setDisplayShowTitleEnabled(false); 
    actionBar.setBackgroundDrawable(new ColorDrawable(0xff353538)); 
    // actionBar.setIcon(R.drawable.ic_action_search); 

    LayoutInflater inflator = (LayoutInflater) this 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    v = inflator.inflate(R.layout.header, null); 
    actionBar.setCustomView(v); 
    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 

和我的屏幕變得如我所料

enter image description here