设置动作条home键右侧 [英] Set ActionBar home button to right side

查看:139
本文介绍了设置动作条home键右侧的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以在动作条右侧设置主键? (android.R.id.home)

Can I set the home button in an ActionBar to the right side? (android.R.id.home)

我想改变的home键的位置,因为语言使用从右到左打字。

I want to change the position of home button because the language is using right to left typing.

这可能吗?如果有,请告诉我,我该怎么做呢?

Is it possible? If yes, please tell me how I can do that?

如果没有,我怎么可以设置ActionBarDrawerToggle在右边?

If no, how can I set ActionBarDrawerToggle at right side?

推荐答案

您可以创建这样的操作栏,但它多一点膨胀菜单更为复杂。在onCreateOptionsMenu创建菜单()方法将被永远靠右侧,放置在拆分操作栏,或隐藏在菜单键。

You can create such action bar, but it's little more complicated than inflating a menu. Menu created in onCreateOptionsMenu() method will be always aligned to right, placed in split action bar or hidden under the menu key.

如果你想你的动作栏仅包含两个菜单项 - 一个在左边,另一个在右边 - 你必须建立操作栏中的自定义视图

If you want your action bar to contain just two menu items - one on the left edge and the other on the right edge - you have to create custom view in the action bar.

在自定义视图的布局将是这样的:

The custom view layout will be something like this:

<?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>

定义中要使用的自定义视图的主题。主题应包括:

Define in the theme that you want to use custom view. The theme should contain:

<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>

将在活动(或片段)的自定义视图:

Set the custom view in the activity (or fragment):

@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) {
            // ...
        }
    });
}

这篇关于设置动作条home键右侧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆