0

我看过一些关于让标题与图标一起显示在 actionbarsherlock 中的帖子。图标显示正常,但标题旁边没有显示。

目前它显示主页图标及其旁边的所有选项卡。我正在寻找的是主页图标,然后是标题,在所有这些下方都有标签显示。这是我的代码。

活动

public class MainActivity extends SherlockFragmentActivity {

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mJsonHandler = JsonHandler.getInstance(this);
    }

 @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();

        ActionBar ab = getSupportActionBar();

        ab.setDisplayHomeAsUpEnabled(true);
        ab.setDisplayShowTitleEnabled(true);
        ab.setDisplayShowHomeEnabled(true);
        ab.setDisplayUseLogoEnabled(true);

        ab.setTitle("TITLE TO SHOW");

        inflater.inflate(R.menu.activity_main, menu);

        return super.onCreateOptionsMenu(menu);     
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        switch(item.getItemId()) {
        case R.id.menu_item0:

            break;
        case R.id.menu_item1:

            break;
        case R.id.menu_item2:

            break;
        case R.id.menu_item3:

            break;
        case R.id.menu_item4:

            break;
        case R.id.menu_item5:

            break;
        default:
            this.onBackPressed();
            break;
        }
        return false;
    }
}

activity_main.xml(用于菜单)

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

<item
    android:id="@+id/menu_item0"
    android:orderInCategory="1"
    android:showAsAction="always"
    android:title="@string/menu_item0"/>

<item
    android:id="@+id/menu_item1"
    android:orderInCategory="2"
    android:showAsAction="always"
    android:title="@string/menu_item1"/>

<item
    android:id="@+id/menu_item2"
    android:orderInCategory="3"
    android:showAsAction="always"
    android:title="@string/menu_item2"/>

<item
    android:id="@+id/menu_item3"
    android:orderInCategory="4"
    android:showAsAction="always"
    android:title="@string/menu_item3"/>

<item
    android:id="@+id/menu_item4"
    android:orderInCategory="5"
    android:showAsAction="always"
    android:title="@string/menu_item4"/>

 <item
    android:id="@+id/menu_item5"
    android:orderInCategory="6"
    android:showAsAction="always"
    android:title="@string/menu_item5"/>

显现

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

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

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

</manifest>

夏洛克主题

<style name="Sherlock.Theme" parent="Theme.Sherlock.Light.DarkActionBar"> 
</style>
4

1 回答 1

3

您设置了太多菜单项以always显示在ActionBar. 您应该只设置最重要的那些。您应该通读 Android 设计指南,了解设置ActionBar

Android 设计指南 - 操作栏组织

此外,您应该设置ActionBarinonCreate和 leaveonCreateOptionsMenu只为您的菜单充气。这只是一个一般性提示,旨在实现更好、更专业的代码格式。

于 2012-12-05T20:33:07.247 回答