我正在写一个android程序。我要做的第一件事是顶部的菜单图标。这是我的代码: menu.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/add"
android:icon="@drawable/plus"
android:title="Adding"
android:orderInCategory="100"
android:showAsAction="always"
/>
</menu>
main.xml中:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</LinearLayout>
和myActivity.java
package com.example.myapp;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuInflater;
public class MyActivity extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onCreateMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.add:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
问题是图标位于中间,但我想把它放在右上方,我不知道如何......
我也见过android:actionlayout和android:action-layout ...这些之间的差异是什么?!
如果有人能回答我的问题,我会很高兴:)
答案 0 :(得分:1)
要覆盖的正确方法是onCreateOptionsMenu(Menu menu)
。您在此方法中膨胀菜单并返回true。它应显示在操作栏的右侧。
答案 1 :(得分:1)
尝试使用:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.firstactivity_menu, menu);
return true;
}
R.menu.firstactivity_menu应该是你的菜单xml!