我想在动作栏的右上角放置一个图像(ImageView)。我不想使用AppCompatActivity库,因此我的MainActivity扩展了Activity而不是AppCompatActivity。
我使用主题:<style name="AppTheme" parent="android:Theme.Holo.Light">
我尝试使用此代码,但它不起作用,因为我没有扩展AppCompatActivity:
actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
LayoutInflater inflator = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.custom_imageview, null);
v1 = inflator.inflate(R.layout.custom_imageview1, null);
actionBar.setCustomView(v);
编辑:我在运行Android 4.4.2的设备上运行此代码
答案 0 :(得分:0)
您可以使用工具栏。它是你的最佳选择.Toolbar是Android Lollipop中引入的ActionBar的新标准替代品。它可以根据您的需要支持大量自定义,并且不需要或只需要对ActionBar逻辑进行修改。
或者您可以使用代码:`
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar mActionBar = getActionBar();
mActionBar.setDisplayShowHomeEnabled(false);
mActionBar.setDisplayShowTitleEnabled(false);
LayoutInflater mInflater = LayoutInflater.from(this);
View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);
TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text);
mTitleTextView.setText("Title");
ImageButton imageButton = (ImageButton) mCustomView
.findViewById(R.id.imageButton);
imageButton.setOnClickListener(new OnClickListener() {
//if you want..You can set action
}
});`
答案 1 :(得分:0)
由于您使用的是简单Activity
,因此您必须更改此行
actionBar = getSupportActionBar();
with(check the doc)
actionBar = getActionBar();