我想在状态栏中添加一个图标。我试过了 -
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
动作栏上未显示图标。有什么想法吗?
答案 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。