我正在尝试在Android的动作栏上做一些事情。

我已经在操作栏的右侧添加了新项目。

如何更改操作栏的左侧?我想改变图标和文本,我想在其他屏幕的操作栏中添加一个“返回按钮”


当前回答

在Android 5.0中,材料设计指南不鼓励在actionBar中使用图标

要启用它,请添加以下代码

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.mipmap.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);

功劳归于这篇文章的作者

其他回答

你也可以这样做:

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main2)
        setSupportActionBar(toolbar)
        setTitle("Activity 2")
    }

你可以在你的可绘制文件夹中添加任何你想要的图标,然后在你的AndroidManifest.xml文件中更改这一行:

android:icon="@drawable/ic_launcher"

来匹配你的图标的名字。或者把你的图标作为ic_launcher,如果它们是相同的图标。至于它说什么,添加或改变任何字符串匹配的res/values/strings.xml文件。然后,再次在AndroidManifest.xml文件中修改这一行:

android:label="@string/app_name"

到他们的字符串中。您必须为整个应用程序以及您想要的任何活动执行此操作,但行是相同的。

希望这能有所帮助。

我在onNavigationItemSelected内部使用了以下调用:

HomeActivity.this.setTitle(item.getTitle());

这很容易做到

如果你想在代码中改变它,调用:

setTitle("My new title");
getActionBar().setIcon(R.drawable.my_icon);

并将值设置为您喜欢的任何值。

或者,在Android manifest XML文件中:

<activity android:name=".MyActivity" 
       android:icon="@drawable/my_icon" 
       android:label="My new title" />  

要在应用程序中启用后退按钮,请使用:

 getActionBar().setHomeButtonEnabled(true);
 getActionBar().setDisplayHomeAsUpEnabled(true);

代码应该全部放在onCreate中,这样标签/图标的变化对用户是透明的,但实际上它可以在活动生命周期的任何地方被调用。

对于set Title:

getActionBar().setTitle("Title");

对于set图标:

getActionBar().setIcon(R.drawable.YOUR_ICON_NAME);