Android操作栏图标

时间:2016-07-25 09:22:44

标签: android android-actionbar

我想在状态栏中添加一个图标。我试过了 -

getActionBar().setIcon(R.drawable.my_icon); //crashes app

getSupportActionBar().setIcon(R.drawable.ic_statusbar_msg); //not working

<activity android:icon="@drawable/my_icon" /> //also not working

<application android:logo="@drawable/Image"> //still not working

动作栏上未显示图标。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

试试这段代码。 导入v7.widget.Toolbar 扩展AppCompatActivity

import android.support.v7.widget.Toolbar;

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setIcon(R.drawable.ic_statusbar_msg);

答案 1 :(得分:1)

使用工具栏代替actionBar。为此你必须改变你的style.xml:

<style name="YourThemeName" parent="Theme.AppCompat.Light.NoActionBar">

并将工具栏添加到您的活动布局中。并在您的oncreate方法中执行此操作:

    toolbar = (Toolbar) findViewById(R.id.toolbarId);
    setSupportActionBar(toolbar);

    toolbar.setTitleTextColor(context.getResources().getColor(R.color.white));

    getSupportActionBar().setTitle("title");

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setHomeAsUpIndicator(R.drawable.navigation_right); // change back button image  
    getSupportActionBar().setIcon(R.drawable.your_icon);

答案 2 :(得分:1)

不要使用setIcon。在某些图像上,它设置填充等。您可以扩展AppCompatActivity,将主题设置为NoActionBar,并在布局文件中添加一个工具栏,您可以在其中放置所需的图像。然后,当@ vinoth12594显示时,您将获得对工具栏的引用。 更多详情here