Я делаю игру для Android, и простейшая реализация меню параметров не работает - сама игра находится в отдельном классе (Engine.java), который расширяет LinearLayout, поэтому мне интересно, почему это не так видимый - однако другие @Overrides "верхнего уровня", такие как onStop(), onPause() и т. д., все работает нормально - есть ли что-то, что мне нужно сделать внутри моего игрового класса, чтобы он отображал меню параметров?
База кода взята из примера Pro Android Games SpaceBlaster: http://www.apress.com/9781430226475 ( исходник можно скачать)
MyGame.class (точка входа в приложение):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LayoutInflater factory = LayoutInflater.from(this);
// Set game layout
view = factory.inflate(R.layout.main, null);
setContentView(view);
// Enable view key events
view.setFocusable(true);
view.setFocusableInTouchMode(true);
} //End OnCreate()
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
рез\меню\меню.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/icon"
android:icon="@drawable/icon" />
<item android:id="@+id/text"
android:title="Text" />
<item android:id="@+id/icontext"
android:title="Icon and text"
android:icon="@drawable/icon" />
</menu>
макет\main.xml:
<game.thegame.test.Engine
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_absolute"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FF000000">
</game.thegame.test.Engine>