如何在Android中将ActionBar添加到Activity
Posted
技术标签:
【中文标题】如何在Android中将ActionBar添加到Activity【英文标题】:How to add ActionBar to Activity in Android 【发布时间】:2016-03-18 05:52:09 【问题描述】:我正在尝试将 ActionBar 添加到我的 android 活动中,但由于某些代码错误,应用程序会自动关闭。那么在 Activity 中显示 ActionBar 的正确代码是什么?
我在 onCreate 方法中尝试了这段代码,但它不起作用
ActionBar actionBar;
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.timetable);
actionBar = getActionBar();
actionBar.setTitle("MY TITLE");
actionBar.show();
【问题讨论】:
请发布详细的错误信息。 欢迎来到 ***!请参阅:How to create a Minimal, Complete, and Verifiable example,并尝试按照这些指南添加更多信息,以吸引更多对您的问题的积极关注。 它在 actionBar.show() 上显示错误; @JohnnyShieh 它在 actionBar.show() 上显示错误; @MeetTitan getActionBar() => getSupportActionBar 并使用 Theme has ActionBar 【参考方案1】:试试这个,
不要使用ActionBar
使用Toolbar
。
将您的课程范围设为AppCompatActivity
而不是ActionBarActivity
。
使用getSupportActionBar()
而不是getActionBar()
。
默认显示Toolbar
,因此您无需调用show()
方法。
Android Toolbar Example
【讨论】:
【参考方案2】:以下代码:
public class Test extends Activity
@Override
protected void onCreate(Bundle savedInstanceState)
context = this.getApplicationContext();
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
ActionBar actionBar = getActionBar();
// show the action bar title
actionBar.setDisplayShowTitleEnabled(true);
// adding style and colour to title
SpannableString s = new SpannableString("Field");
s.setSpan(new ForegroundColorSpan(Color.parseColor("#ffffff")), 0, s.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
actionBar.setTitle(s);
【讨论】:
以上是关于如何在Android中将ActionBar添加到Activity的主要内容,如果未能解决你的问题,请参考以下文章
如何在android中添加actionbar white图标