将ActionBar主页button设置在右侧

我可以在右侧的ActionBar中设置主页button吗? (android.R.id.home)

我想改变主页button的位置,因为语言是使用从右到左打字。

可能吗? 如果是的话,请告诉我我该怎么做?

如果不是,我怎样才能在右侧设置ActionBarDrawerToggle?

Solutions Collecting From Web of "将ActionBar主页button设置在右侧"

你可以创build这样的动作栏,但比起菜单来说要复杂一点。 在onCreateOptionsMenu()方法中创build的菜单将始终alignment到右侧,放置在拆分操作栏中​​或隐藏在菜单键下。

如果你想要你的动作栏只包含两个菜单项 – 一个在左边,另一个在右边 – 你必须在操作栏中创build自定义视图。

自定义视图布局将如下所示:

<?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="fill_parent"> <ImageButton android:src="@drawable/ic_menu_item1" android:background="?attr/actionBarItemBackground" android:layout_width="?attr/actionBarSize" android:layout_height="match_parent" android:scaleType="centerInside" android:id="@+id/item1" android:layout_alignParentLeft="true" android:layout_alignParentTop="true"/> <ImageButton android:src="@drawable/ic_menu_item2" android:background="?attr/actionBarItemBackground" android:layout_width="?attr/actionBarSize" android:layout_height="match_parent" android:scaleType="centerInside" android:id="@+id/item2" android:layout_alignParentRight="true" android:layout_alignParentTop="true"/> </RelativeLayout> 

在主题中定义要使用自定义视图。 主题应该包含:

 <style name="MyTheme" parent="@style/Theme.Sherlock"> <item name="actionBarStyle">@style/MyActionBarStyle</item> <item name="android:actionBarStyle">@style/MyActionBarStyle</item> </style> <style name="MyActionBarStyle" parent="@style/Widget.Sherlock.ActionBar"> <item name="displayOptions">showCustom</item> <item name="android:displayOptions">showCustom</item> </style> 

在活动(或片段)中设置自定义视图:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar ab = getSherlock().getActionBar(); LayoutInflater li = LayoutInflater.from(this); View customView = li.inflate(R.layout.my_custom_view, null); ab.setCustomView(customView); ImageButton ibItem1 = (ImageButton) customView.findViewById(R.id.item1); ibItem1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // ... } }); ImageButton ibItem2 = (ImageButton) customView.findViewById(R.id.item2); ibItem2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // ... } }); } 

您必须通过调用actionbar.setDisplayShowCustomeEnable(True)来使用您的自定义布局,然后膨胀您的自定义视图,然后使用actionbar.setCustomeView(view)
这可以帮助你( ActionBar标志居中和侧面的行动项目 )

Android最近获得了从右到左的ActionBar的支持,但它只在API 17中可用。如果您的清单已经设置了android:supportsRtl="true" ,它将默认执行此操作。

不完全确定这是否是您要查找的内容,但是您可以使主页button出现在操作栏的下拉菜单下(3个垂直点图标)

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/ic_home" android:orderInCategory="1" android:showAsAction="never" android:title="Home"/> </menu> 

通过将其设置为“android:showAsAction =”从不“”它会出现在下拉菜单下,但是你可能无法在Android Studio模拟器中看到这个(至less我从来没有在模拟器上看到过Android Studio),不太确定Eclipse。