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

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

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


当前回答

ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(getString(R.string.titolo));
actionBar.setIcon(R.mipmap.ic_launcher);
actionBar.setDisplayShowHomeEnabled(true);

其他回答

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

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

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

功劳归于这篇文章的作者

您只需要添加这3行代码。将图标替换为您自己的图标。如果你想生成图标,使用这个

getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);

为此,可以采用两种方式:XML或Java。看这里:如何更改操作栏上的文本

So:

XML:

<activity android:name=".Hello_World"
              android:label="This is the Hello World Application">
</activity>

Java:

public class TitleBar extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       final boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

       setContentView(R.layout.main);


       if ( customTitleSupported ) {
           getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
           }

       final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
       if ( myTitleText != null ) {
           myTitleText.setText("NEW TITLE");

           // user can also set color using "Color" and then "Color value constant"
          // myTitleText.setBackgroundColor(Color.GREEN);
       }
 }
}

要让一个图标可以被你所有的动作栏使用,你可以在你的Android Manifest中这样做。

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

    ...

</application>

这很容易做到

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

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中,这样标签/图标的变化对用户是透明的,但实际上它可以在活动生命周期的任何地方被调用。