gpt4 book ai didi

android - action_bar_embed_tabs 在 Android 中是如何工作的?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:38:24 24 4
gpt4 key购买 nike

我在操作栏中有选项卡。在大屏幕上,选项卡嵌入到操作栏中,但在小屏幕上则不是。我想控制选项卡手册,以便我可以将选项卡与操作栏分开。我尝试设置 abs__action_bar_embed_tabs 但没有成功

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

最佳答案

我知道这是一篇旧文章,但我想为 future 的读者添加一个使用 action_bar_embed_tabs 的解决方案。

创建以下方法(注意导入),

public static void setHasEmbeddedTabs(Object inActionBar, final boolean inHasEmbeddedTabs)
{
// get the ActionBar class
Class<?> actionBarClass = inActionBar.getClass();

// if it is a Jelly Bean implementation (ActionBarImplJB), get the super class (ActionBarImplICS)
if ("android.support.v7.app.ActionBarImplJB".equals(actionBarClass.getName()))
{
actionBarClass = actionBarClass.getSuperclass();
}

try
{
// try to get the mActionBar field, because the current ActionBar is probably just a wrapper Class
// if this fails, no worries, this will be an instance of the native ActionBar class or from the ActionBarImplBase class
final Field actionBarField = actionBarClass.getDeclaredField("mActionBar");
actionBarField.setAccessible(true);
inActionBar = actionBarField.get(inActionBar);
actionBarClass = inActionBar.getClass();
}
catch (IllegalAccessException e) {}
catch (IllegalArgumentException e) {}
catch (NoSuchFieldException e) {}

try
{
// now call the method setHasEmbeddedTabs, this will put the tabs inside the ActionBar
// if this fails, you're on you own <img src="http://www.blogc.at/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley">
final Method method = actionBarClass.getDeclaredMethod("setHasEmbeddedTabs", new Class[] { Boolean.TYPE });
method.setAccessible(true);
method.invoke(inActionBar, new Object[]{ inHasEmbeddedTabs });
}
catch (NoSuchMethodException e) {}
catch (InvocationTargetException e) {}
catch (IllegalAccessException e) {}
catch (IllegalArgumentException e) {}
}

然后像下面这样调用它,

  1. 如果您希望选项卡出现在操作栏内,

    setHasEmbeddedTabs(actionBar, true);

  2. 如果您希望选项卡单独显示/位于操作栏下方,

    setHasEmbeddedTabs(actionBar, false);

所有学分Cliff.

关于android - action_bar_embed_tabs 在 Android 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13581155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com