操作栏徽标未显示

时间:2015-09-02 11:12:57

标签: android android-actionbar

这个问题实际上让我发疯了,我一直在阅读并在各地寻找解决方案,但我仍然无法在动作栏上放置自定义徽标,我可以放置背景和其他功能但没有徽标,我'顺便提一下,在布局设计师中放入一些代码,当我把它们设置为“holo light dark action bar”时,我可以看到徽标,但是当我运行应用程序时,它永远不会出现:

Android Manifest:

<application
    android:allowBackup="true"
    android:icon="@drawable/icon_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".Activities.ItemManagerActivity"
        android:logo="@drawable/icon_launcher"
        android:label="@string/title_activity_item_manager" >
    </activity>
    <activity
        android:name=".Activities.MainActivity"
        android:icon="@drawable/icon_launcher"
        android:theme="@style/CustomActionBarTheme"
        android:label="@string/title_activity_main" >
    </activity>

MainActivity:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    android.support.v7.app.AppCompatActivity actionBar;
    //getSupportActionBar().setIcon(R.drawable.icon_launcher);
    getSupportActionBar().setTitle("");
    getSupportActionBar().setDisplayUseLogoEnabled(true);
    getSupportActionBar().setLogo(R.drawable.icon_launcher);

styles.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:logo">@drawable/icon_launcher</item>
    <!-- Customize your theme here. -->
</style>

<style name="CustomActionBarTheme"
    parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
    parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:logo">@drawable/icon_launcher</item>

    <!-- Support library compatibility -->
    <!--<item name="background">@drawable/profile_banner_orange</item>-->
</style>

5 个答案:

答案 0 :(得分:3)

这应该

 getSupportActionBar().setIcon(R.drawable.ic_launcher);

但别忘了添加

getSupportActionBar().setDisplayShowHomeEnabled(true);

随之而来

答案 1 :(得分:2)

尝试使用

$.trim(str);

答案 2 :(得分:1)

actionBar.setDisplayShowHomeEnabled(false);

OR

actionBar.setHomeButtonEnabled(false);

答案 3 :(得分:0)

这样做:

在菜单xml文件中添加项目:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".YourActivity">

<item android:id="@+id/your_id"
    android:icon="@drawable/your_icon"
    app:showAsAction="always"
    android:title="@string/your_title"
    />

</menu>

在您的活动中,覆盖onCreateOptionsMenu():

MenuItem your_menu;
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.your_menu_name, menu);
        your_menu = menu.findItem(R.id.your_id);
        return true;
    }

希望以上描述有所帮助。感谢。

答案 4 :(得分:0)

尝试一下

    getSupportActionBar().setDisplayShowHomeEnabled(true);

    getSupportActionBar().setDisplayUseLogoEnabled(true);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
    {
        getSupportActionBar().setLogo(getDrawable(R.drawable.actionbar_logo));
    }
    else
        {
        getSupportActionBar().setLogo(getResources().getDrawable(R.drawable.actionbar_logo));
        }

如果要包含导航抽屉按钮,请同时包含此行

getSupportActionBar().setDisplayHomeAsUpEnabled(true);