Android 使用Actionbarsherlock在第二个栏中显示选项卡

Android 使用Actionbarsherlock在第二个栏中显示选项卡,android,tabs,split,actionbarsherlock,Android,Tabs,Split,Actionbarsherlock,使用ActionBarSherlock显示选项卡时出现问题。我已经在自己的应用程序中复制了actionbarsherlock演示的示例代码,如果我在7''显示屏(如Nexus 7)中运行该应用程序,选项卡将显示在与标题相同的栏中。但是,如果我在同一设备中运行ABS示例,选项卡将显示在不同的栏中 我的申请有什么问题 这是我的密码: import android.os.Bundle; import android.support.v4.app.FragmentTransaction; import

使用ActionBarSherlock显示选项卡时出现问题。我已经在自己的应用程序中复制了actionbarsherlock演示的示例代码,如果我在7''显示屏(如Nexus 7)中运行该应用程序,选项卡将显示在与标题相同的栏中。但是,如果我在同一设备中运行ABS示例,选项卡将显示在不同的栏中

我的申请有什么问题

这是我的密码:

import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.widget.TextView;

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.internal.ResourcesCompat;
import com.mbal.misseries.R;

public class ProvaDeFragments extends SherlockActivity implements ActionBar.TabListener {
    private TextView mSelected;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        setTheme(R.style.Theme_Sherlock_Light); //Used for theme switching in samples
        super.onCreate(savedInstanceState);

        setContentView(R.layout.tab_navigation);
        mSelected = (TextView)findViewById(R.id.text);


        getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        for (int i = 1; i <= 3; i++) {
            ActionBar.Tab tab = getSupportActionBar().newTab();
            tab.setText("Tab " + i);
            tab.setTabListener(this);
            getSupportActionBar().addTab(tab);
        }
    }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction transaction) {
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction transaction) {
        mSelected.setText("Selected: " + tab.getText());
    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction transaction) {
    }
}
导入android.os.Bundle;
导入android.support.v4.app.FragmentTransaction;
导入android.widget.TextView;
导入com.actionbarsherlock.app.ActionBar;
导入com.actionbarsherlock.app.ActionBar.Tab;
导入com.actionbarsherlock.app.SherlockActivity;
导入com.actionbarsherlock.internal.ResourcesCompat;
导入com.mbal.misseries.R;
公共类ProvaDeFragments扩展SherlockActivity实现ActionBar.TabListener{
已选择私有文本视图;
@凌驾
创建时的公共void(Bundle savedInstanceState){
setTheme(R.style.Theme_Sherlock_Light);//用于在示例中切换主题
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_导航);
mSelected=(TextView)findViewById(R.id.text);
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION\u MODE\u选项卡);

对于(inti=1;i除了在有足够空间的设备上测试之外,您没有做错任何事情。;-)

根据Google开发者网站中的文档:

如果要在活动中提供导航选项卡,请使用 操作栏的选项卡是一个很好的选择(而不是使用TabWidget), 因为系统会根据不同的屏幕调整操作栏选项卡 屏幕显示时将其放置在主操作栏中的大小 足够宽,或在单独的条中(称为“堆叠动作 当屏幕太窄时,如图9和图10所示

如果您制作更长的选项卡,向栏中添加更多操作,和/或在更薄的视图中测试它(例如,手机上的肖像),它应该会自动将其拆分为第二个栏

请注意,在他们的示例中(复制如下)的视图中,堆叠它们的第二个视图比第一个视图窄得多

图9

图10