Actionbarsherlock - 标题不显示

时间:2012-12-05 20:13:55

标签: android 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>

1 个答案:

答案 0 :(得分:3)

您在always中设置了太多菜单项以显示ActionBar。你应该只设置最重要的那些。您应该以适当的方式阅读Android设计指南,以设置ActionBar

Android Design Guidelines - Action Bar organization

此外,您应该在ActionBar设置onCreate并离开onCreateOptionsMenu仅用于夸大您的菜单。这只是一个通用提示,可以用于更好,更专业的代码格式化。