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

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

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


当前回答

我得到了非静态方法setTitle(CharSequence)不能从静态上下文错误中引用,因为我在静态PlaceholderFragment类中使用了setTitle()。我通过使用getActivity(). getactionbar()来解决它。setTitle(“新标题”);

其他回答

为此,可以采用两种方式: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);
       }
 }
}

默认情况下,操作栏标题将使用当前活动的标签,但您也可以通过ActionBar.setTitle()以编程方式设置它。

要实现你所说的“后退”(更准确地说,“向上”)按钮功能,请阅读操作栏开发者指南中的“使用应用程序图标导航”部分。

最后,要更改图标,指南也包括了这些内容。简而言之,操作栏将显示在你的manifest的应用程序或活动元素中提供的android:icon的图像(如果有的话)。典型的做法是创建一个名为ic_launcher.png的应用程序图标(在您需要的所有不同密度中),并将其放置在您的drawable-*目录中。

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

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

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

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

我得到了非静态方法setTitle(CharSequence)不能从静态上下文错误中引用,因为我在静态PlaceholderFragment类中使用了setTitle()。我通过使用getActivity(). getactionbar()来解决它。setTitle(“新标题”);