Android分割ActionBar - 更改图标布局

4

好的,这个问题很快,我该如何在分割操作栏中更改操作栏图标的布局位置?

在我的应用程序中,它们总是均匀地放置在底部操作栏的全部宽度上,但我想能够将一些对齐到右侧,其他对齐到左侧。

我该怎么做?

非常感谢您提前的帮助:)

PS:如果相关的话,我正在使用ActionBarSherlock。


编辑:

这是我的应用程序屏幕之一:

Buttons placed evenly

这就是我现在想要的外观:

Buttons ideally placed to the right

这就是我用三个按钮想要的外观:

3 Buttons ideally placed


我通过menu.xml文件添加了这些项:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/AB_add"
        android:icon="@android:drawable/ic_menu_add"
        android:showAsAction="always"
        android:title="@string/menu_add_item_to_shopping_list">
    </item>
    <item
        android:id="@+id/AB_delete"
        android:icon="@android:drawable/ic_menu_delete"
        android:showAsAction="always"
        android:title="@string/menu_delete_item_from_shopping_list">
    </item>
</menu>

通过onCreateOptionsMenu()实例化它们。

    public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getSupportMenuInflater();

            inflater.inflate(R.menu.activity_recipe_detail, menu);
    }

我在 Android 参考资料中搜索,也在谷歌上搜索,但都没有找到。此外,我检查了菜单项的所有可能属性,但没有找到与定位相关的属性。我尝试使用自定义 actionViews,但只能更改按钮的内容,无法更改其位置(但我可能做错了!)。谢谢。 - alfongj
请上传您现在拥有的图像、您想要它如何变化(使用Photoshop)以及您现在使用的代码。 - Frank
2个回答

1

我认为这个问题可以通过一种丑陋的方式解决,希望这能帮到你。

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/action_write1"
        android:icon="@drawable/statusnewactivity_send_light"
        android:showAsAction="always"
        android:title="reply1"/>
    <item
        android:id="@+id/space1"
        android:checkable="false"
        android:enabled="false"
        android:showAsAction="always"/>
    <item
        android:id="@+id/space2"
        android:checkable="false"
        android:enabled="false"
        android:showAsAction="always"/>
    <item
        android:id="@+id/action_write2"
        android:icon="@drawable/statusnewactivity_send_light"
        android:showAsAction="always"
        android:title="reply2"/>
    <item
        android:id="@+id/action_write3"
        android:icon="@drawable/statusnewactivity_send_light"
        android:showAsAction="always"
        android:title="reply3"/>
</menu>

1

很不幸,使用标准的Android ActionBar代码或ActionBarSherlock无法实现这一点。我曾经遇到过类似的问题,并发现唯一应对它的方法是使用自定义LinearLayout,使其看起来像一个ActionBar。

分割ActionBar在不同设备上看起来会非常不同。在手机(“狭窄”屏幕)上,它将显示在底部,就像您的屏幕上一样。然而,在横向模式或平板电脑上,它将不会被分割。这也应该影响您是否要进行自定义工作的决定。


谢谢André。那正是我最担心的。不过我会保持问题开放一段时间,以便任何人提出其他建议。 - alfongj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接