我正在尝试在Android的动作栏上做一些事情。
我已经在操作栏的右侧添加了新项目。
如何更改操作栏的左侧?我想改变图标和文本,我想在其他屏幕的操作栏中添加一个“返回按钮”
我正在尝试在Android的动作栏上做一些事情。
我已经在操作栏的右侧添加了新项目。
如何更改操作栏的左侧?我想改变图标和文本,我想在其他屏幕的操作栏中添加一个“返回按钮”
当前回答
为此,可以采用两种方式: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 5.0中,材料设计指南不鼓励在actionBar中使用图标
要启用它,请添加以下代码
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.mipmap.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);
功劳归于这篇文章的作者
如果你想改变动作栏的标题,只需在你的活动的onCreate()中给出以下1行代码
getActionBar().setTitle("Test");
默认情况下,操作栏标题将使用当前活动的标签,但您也可以通过ActionBar.setTitle()以编程方式设置它。
要实现你所说的“后退”(更准确地说,“向上”)按钮功能,请阅读操作栏开发者指南中的“使用应用程序图标导航”部分。
最后,要更改图标,指南也包括了这些内容。简而言之,操作栏将显示在你的manifest的应用程序或活动元素中提供的android:icon的图像(如果有的话)。典型的做法是创建一个名为ic_launcher.png的应用程序图标(在您需要的所有不同密度中),并将其放置在您的drawable-*目录中。
这很容易做到
如果你想在代码中改变它,调用:
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中,这样标签/图标的变化对用户是透明的,但实际上它可以在活动生命周期的任何地方被调用。
你也可以这样做:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
setSupportActionBar(toolbar)
setTitle("Activity 2")
}