Java 在Android v.4中使用不推荐的TabBar和SherlockActionBar

Java 在Android v.4中使用不推荐的TabBar和SherlockActionBar,java,android,actionbarsherlock,Java,Android,Actionbarsherlock,我正在使用应用程序底部不推荐使用的选项卡栏 然后,我在应用程序顶部使用了ActionBarSherlock。它在Android v2.3.5和version3.2上运行良好 但是当我在安卓v4上运行它时,ActionBar消失了,ActionBar上的项目显示为选项菜单,子菜单显示为上下文菜单 我无法更改体系结构并使用fragment代替不推荐使用的选项卡栏 你知道如何在Android v4中显示ActionBar吗 或者你认为这是不可能的,因为我不能在这种情况下使用片段 public clas

我正在使用应用程序底部不推荐使用的选项卡栏

然后,我在应用程序顶部使用了
ActionBarSherlock
。它在Android v2.3.5和version3.2上运行良好

但是当我在安卓v4上运行它时,
ActionBar
消失了,
ActionBar
上的项目显示为选项菜单,子菜单显示为上下文菜单

我无法更改体系结构并使用fragment代替不推荐使用的选项卡栏

你知道如何在Android v4中显示
ActionBar

或者你认为这是不可能的,因为我不能在这种情况下使用片段

public class MainActivity extends SherlockActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        setTheme(R.style.Theme_Styled);
        super.onCreate(savedInstanceState);
    }

    @Override
    protected void onResume() {
        super.onResume();
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getSupportMenuInflater().inflate(R.menu.activity_main, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {

        case R.id.menu_settings:
            System.out.println("Hello");
            return true;

        default:
            return super.onOptionsItemSelected(item);
        }
    }

}
和style.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
        <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
    </style>

    <style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
        <item name="titleTextStyle">@style/TitleText</item>
        <item name="android:titleTextStyle">@style/TitleText</item>
    </style>

    <!-- Title on action bar -->
     <style name="TitleText" >
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textSize">12.5dip</item>
    </style>

</resources>

@style/Widget.Styled.ActionBar
@style/Widget.Styled.ActionBar
@样式/标题文本
@样式/标题文本
@android:彩色/白色
12.5倾角

首先,在应用程序中,最好使用
SherlockFragmentActivity
SherlockFragment
作为其内容。至少在我看来是这样。其次,在早期版本的Android上,仅当您为actionbar项目设置此值时,才会显示这些项目:
Android:showAsAction=“always”

例如:

    <item
    android:id="@+id/sync"
    android:orderInCategory="1"
    android:title="Sync"
    android:icon="@drawable/ic_action_refresh"
    android:showAsAction="always"   />

在有硬件菜单按钮的设备中,其余元素将作为子菜单放置,即使运行应用程序的android是3+


使用不推荐使用的TabBar对您来说不是问题,但是有一个很好的例子,说明如何使用标签和
ActionBarSherlock
使用
Fragments
,您可以在这里找到:

首先在您的应用程序中,最好使用
SherlockFragmentActivity
SherlockFragments
作为内容。至少在我看来是这样。其次,在早期版本的Android上,仅当您为actionbar项目设置此值时,才会显示这些项目:
Android:showAsAction=“always”

例如:

    <item
    android:id="@+id/sync"
    android:orderInCategory="1"
    android:title="Sync"
    android:icon="@drawable/ic_action_refresh"
    android:showAsAction="always"   />

在有硬件菜单按钮的设备中,其余元素将作为子菜单放置,即使运行应用程序的android是3+


使用不推荐使用的TabBar对您来说不是问题,但有一个很好的示例,说明如何使用带有
ActionBarSherlock
的选项卡使用
Fragments
,您可以在这里找到:

Aas据我所知,您必须将Fragments与ActionBar一起使用。v4支持库中支持片段。从活动变为片段应该很难。您可以发布v4设备上的屏幕截图吗?您可以在图像中看到上下文菜单的样子:。它们是我的子菜单。我知道它们是什么样子。我想让大家看看你的情况到底出了什么问题。正如我所说的,我在v2.3版中的ActionBar不见了,项目显示为选项和上下文菜单。你是否使用Theme.Sherlock作为v2.3版的应用程序主题?你延长了夏洛克的活动时间了吗?提供更多细节!如果你使用ActionBarSherlokc,那就不好了,如果你不使用它奇妙的标签功能。v4支持库中支持片段。从活动变为片段应该很难。您可以发布v4设备上的屏幕截图吗?您可以在图像中看到上下文菜单的样子:。它们是我的子菜单。我知道它们是什么样子。我想让大家看看你的情况到底出了什么问题。正如我所说的,我在v2.3版中的ActionBar不见了,项目显示为选项和上下文菜单。你是否使用Theme.Sherlock作为v2.3版的应用程序主题?你延长了夏洛克的活动时间了吗?提供更多细节!如果你使用ActionBarSherlokc,不使用它奇妙的标签功能是不好的。