将Android选项菜单与操作栏合并

时间:2012-01-23 21:05:10

标签: android merge overflow options android-actionbar

http://i.stack.imgur.com/cbdyv.jpg

似乎找不到这个问题的答案。我已经为File选项尝试了各种不同的android标签。

我知道你可以设置 android:uiOptions =“splitActionBarWhenNarrow”

在你的清单中,但只是将选项放在屏幕的底部。

理想情况下我想要,Tab1 Tab2 Tab3 Tab4:&lt ;-(三重点溢出)

出于某种原因,我的应用程序在我的操作栏下面创建了一个新的栏,里面有三个点?

这是我的代码

清单          

<uses-sdk android:minSdkVersion="14" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Holo" >
    <activity
        android:name=".TestForActionBarActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

main_options.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/file"
      android:title="File" >
</item>
</menu>

活动     package test.actionbar;

public class TestForActionBarActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(false);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);

    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    ActionBar.Tab tab1 = actionBar.newTab().setText("Tab 1");
    tab1.setTabListener(new TabListener(){

        public void onTabReselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }

        public void onTabSelected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }

        public void onTabUnselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }});
    actionBar.addTab(tab1);

    ActionBar.Tab tab2 = actionBar.newTab().setText("Tab 2");
    tab2.setTabListener(new TabListener(){

        public void onTabReselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }

        public void onTabSelected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }

        public void onTabUnselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }});
    actionBar.addTab(tab2);

    ActionBar.Tab tab3 = actionBar.newTab().setText("Tab 3");
    tab3.setTabListener(new TabListener(){

        public void onTabReselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }

        public void onTabSelected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }

        public void onTabUnselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }});
    actionBar.addTab(tab3);

    ActionBar.Tab tab4 = actionBar.newTab().setText("Tab 4");
    tab4.setTabListener(new TabListener(){

        public void onTabReselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }

        public void onTabSelected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }

        public void onTabUnselected(Tab tab, FragmentTransaction ft) {
            // TODO Auto-generated method stub

        }});
    actionBar.addTab(tab4);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.layout.main_options, menu);
    return true;
}
}

2 个答案:

答案 0 :(得分:0)

我认为这是一个动作栏的设计模式,在狭窄(手机)屏幕上有标签。 “添加导航标签”部分下的docs中有屏幕截图。

Phone stacked

答案 1 :(得分:0)

它创建它是因为你有

public boolean onCreateOptionsMenu(Menu menu)
代码中的

。您可以将其注释掉,如果最后是tripledot,则可以使用另一个带图像的标签。