将ActiobBar放在右上角

时间:2014-05-06 07:51:39

标签: android android-layout android-actionbar

AFAIK ActionBar默认情况下应显示在顶部,但就我而言,它会显示在底部。

我已经按照标准教程进行了检查。

这是我的代码和支持屏幕截图:

MainActivity.java

package com.android.actionbardemo;

import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ActionBar actionBar = getActionBar();
        actionBar.show();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.main, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {

        case R.id.home:
            Toast.makeText(this, "Home Option Selected", Toast.LENGTH_SHORT)
                    .show();
            return true;

        case R.id.java:
            Toast.makeText(this, "Java Option Selected", Toast.LENGTH_SHORT)
                    .show();
            return true;

        case R.id.android:
            Toast.makeText(this, "Android Option Selected", Toast.LENGTH_SHORT)
                    .show();
            return true;

        default:
            return super.onOptionsItemSelected(item);
        }

    }
}

main.xml(菜单)

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:showAsAction="never"
        android:title="@string/action_settings"/>
    <item
        android:id="@+id/home"
        android:icon="@drawable/home"
        android:showAsAction="ifRoom"
        android:title="Home"/>

    <item
        android:id="@+id/java"
        android:icon="@drawable/java"
        android:showAsAction="ifRoom"
        android:title="Java"/>

    <item
        android:id="@+id/android"
        android:icon="@drawable/android"
        android:showAsAction="ifRoom"
        android:title="Android"/>

</menu>

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.actionbardemo"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:uiOptions="splitActionBarWhenNarrow" >
        <activity
            android:name="com.android.actionbardemo.MainActivity"
            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>

screenshot

我做错了吗?

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

您正在使用uiOptions标记中的splitActionBarWhenNarrow application

From the docs

  

在屏幕底部添加一个栏以显示中的操作项   ActionBar,当受限于水平空间时(例如在   手机上的肖像模式)。而不是少数的行动项目   出现在屏幕顶部的操作栏中,操作栏   分为顶部导航部分和底部操作栏   项目。这确保了不能提供合理数量的空间   仅适用于操作项,还适用于导航和标题元素   在顶部。菜单项不会分成两个栏;他们总是   一起出现。