我正在尝试使用 AppCompat 以编程方式更改操作栏的背景颜色和文本颜色。这是我之前使用 Holo 主题时使用的代码,但似乎我不能将相同的东西用于 AppCompat。有人知道我需要更改什么吗?
ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#95CDBA")));
getActionBar().setTitle(Html.fromHtml("<font color='#000099'>Hello World</font>"));
最佳答案
使用 getSupportActionBar()
代替 getActionBar()
编辑:
您遇到错误,因为您的导入有误。请使用与以下相同的内容。这很好用。
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.text.Html;
public class TestActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getSupportActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#95CDBA")));
actionBar.setTitle(Html.fromHtml("<font color='#000099'>Hello World</font>"));
}
}
是的,这是谷歌的错误,它应该有一个不同的名字。 SupportActionBar 会很棒。
如果您无法修复导入,您可以像这样明确指定哪一个
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
关于java - 使用 AppCompat 以编程方式更改操作栏背景和文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29804825/