如何更改android操作栏的标题和图标
我正在尝试在Android的ActionBar上做一些事情。
我已经在操作栏的右侧添加了新项目。
我如何更改操作栏的左侧? 我想更改图标和文本,我想在其他屏幕的操作栏中添加“后退button”
这很容易完成
如果您想在代码中更改它,请致电:
setTitle("My new title"); getActionBar().setIcon(R.drawable.my_icon);
并把值设置为任何你想要的。
或者,在Android清单XML文件中:
<activity android:name=".MyActivity" android:icon="@drawable/my_icon" android:label="My new title" />
要启用应用程序中的后退button,请使用:
getActionBar().setHomeButtonEnabled(true); getActionBar().setDisplayHomeAsUpEnabled(true);
代码应该全部放在你的onCreate
这样标签/图标的变化对用户来说是透明的,但实际上它可以在活动的生命周期中的任何地方被调用。
要使所有操作栏都可以使用单个图标,可以在Android Manifest中执行此操作。
<application android:logo="@drawable/Image"> ... </application>
如果您想更改操作栏标题,只需在活动的onCreate()中提供以下1行代码即可
getActionBar().setTitle("Test");
你可以改变你的图标,把你想要的任何图标添加到你的相应的可绘制文件夹,然后在你的AndroidManifest.xml文件中改变这一行:
android:icon="@drawable/ic_launcher"
以匹配你的图标的名字在那里。 或者把你的图标设为ic_launcher,如果它们是相同的图标。 至于说什么,添加或更改任何string匹配到你的res / values / strings.xml文件。 然后,再次在你的AndroidManifest.xml文件中,改变这一行:
android:label="@string/app_name"
无论你在他们的string。 您必须为整个应用程序执行此操作,而且您需要执行哪些操作,但是行数是相同的。
希望这可以帮助。
你只需要添加这3行代码。 用自己的图标replace图标。 如果你想生成图标使用这个
getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow); getActionBar().setHomeButtonEnabled(true); getActionBar().setDisplayHomeAsUpEnabled(true);
为此,您可以通过两种方式来实现:XML或Java。 看到这里: 如何更改操作栏上的文本
所以:
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); } } }
设置标题 :getActionBar()。setTitle(“Title”);
设置Icon :getActionBar()。setIcon(R.drawable.YOUR_ICON_NAME);
在Android 5.0材质devise指南中,不鼓励在actionBar中使用图标
以使其添加以下代码
getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setLogo(R.mipmap.ic_launcher); getSupportActionBar().setDisplayUseLogoEnabled(true);
信贷去这篇文章的作者
我在onNavigationItemSelected
使用了下面的调用:
HomeActivity.this.setTitle(item.getTitle());
操作栏标题默认使用当前活动的标签,但也可以通过ActionBar.setTitle()
编程方式设置。
要实现您正在讨论的“Back”(更确切地说,“Up”)buttonfunction,请阅读Action Bar开发人员指南中的“使用应用程序图标进行导航”部分。
最后,要更改图标,指南也会覆盖这些图标。 简而言之,操作栏将在清单的application
或activity
元素(如果有)中显示android:icon
中提供的图像。 典型的做法是创build一个名为ic_launcher.png
的应用程序图标(需要所有不同的密度),并将其放置在drawable-*
目录中。
我得到了non-static method setTitle(CharSequence) cannot be referenced from a static context
错误non-static method setTitle(CharSequence) cannot be referenced from a static context
因为我在静态PlaceholderFragment类中使用了setTitle()
。 我解决了它通过使用getActivity().getActionBar().setTitle("new title");