为什么同时有android:actionLayout和android:icon?

时间:2013-06-06 17:30:54

标签: android

我正在阅读BusyCoder Android指南中的操作栏。有一个例子:

<item
    android:id="@+id/add"
    android:actionLayout="@layout/add"
    android:icon="@android:drawable/ic_menu_add"
    android:showAsAction="ifRoom"
    android:title="@string/add"/>

同时定义android:actionLayoutandroid:icon有什么意义?图标显示的条件是什么?

感谢您帮助安卓Android noob

2 个答案:

答案 0 :(得分:3)

  

图标显示的条件是什么?

我不能排除操作栏可能会确定actionLayout没有足够的空间,但是有足够的空间放置一个操作项,因此会显示图标。此外,使用ActionBarSherlock,即使在Android 2.x设备上的溢出中也会显示图标,如果actionLayout太大,图标可能会被使用。另外,如果我使用ifRoom|collapseActionView而不是ifRoom,则会使用该图标。

话虽如此:

  • 如果用户点击它,我的示例实际上并不会关注此理论操作项(如果出现的话)

  • 我猜测可能的操作栏行为,因为我没有尝试任何实验来强制操作栏决定是否有足够的空间容纳所有actionLayout - 已配置的项目

答案 1 :(得分:2)

此处android:icon定义为您的菜单项提供图标。这始终是可选的,但建议使用菜单项的图标。

android:actionLayout被定义为再次为菜单项提供自定义视图这是可选的,但是如果您需要在菜单项中使用一些图像视图,文本视图,编辑文本视图等,这是要走的路

如果您需要更多帮助,请参阅这些指南。我认为这些对您更有帮助。

Action Bar Android Developer Guide

Menu Resource Android Developer Guide

另请参阅此示例。这可能会让你更好地了解android Action bar。

vimaltuts.com/android-tutorial-for-beginners/android-action-bar-tab-menu-example

                        Thank You!