如何知道 Android 操作栏的操作图标是位于顶部栏还是底部栏(拆分)?

2024-06-02

我有一个拆分操作栏,其中顶部栏是深色的,底部栏(拆分)是浅色的。

因此,我想显示对比操作图标:顶部暗栏中的浅色图标和底部亮栏中的深色图标。

问题是知道这些操作是否应该绘制在顶部或底部栏上。我怎么知道呢?

另一种选择是了解操作栏当前是否已拆分。我怎么知道呢?

Thanks.


简单的。您使用布尔值。默认情况下,如果屏幕宽度小于 400dp,您将拥有一个分割的 ActionBar。因此,在您的值文件夹中,您可以放置​​:

/values/bools.xml:

<resources>
    <bool name="split_action_bar">true</bool>
</resources>

并在您的values-sw400dp中输入以下内容。

/values-sw400dp/bools.xml:

<resources>
    <bool name="split_action_bar">false</bool>
</resources>

现在您可以根据该值设置图标:

boolean isActionBarSplitted = getResources().getBoolean(R.bool.split_action_bar);
if(isActionBarSplitted){
      // set light icon
}
else{
     // set dark icon
}

Edit:

实际上忘记我写的内容,您不需要创建自己的布尔值来检查它。已经声明了一个(ActionBar 使用它来确定它是手机设备还是平板电脑)。 如果您的目标是 Android HC+,那么您可以访问默认的 ActionBars 值:android.R.bool.split_action_bar_is_narrow,如果您使用的是 ActionBarSherlock:R.bool.abs_split_action_bar_is_narrow. Found here https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/bools.xml对于默认的 ActionBar,here https://github.com/JakeWharton/ActionBarSherlock/blob/master/library/res/values/abs__bools.xml你的ABS。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何知道 Android 操作栏的操作图标是位于顶部栏还是底部栏(拆分)? 的相关文章

随机推荐