Android: внешний вид и значок меню параметров не отображаются

Я столкнулся с несколькими проблемами с меню параметров Android.

Вот мой код:

Внутри папки res я создал папку меню, содержащую файл menu.xml со следующим кодом:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:icon="@drawable/green"
        android:id="@+id/icon" />
    <item
        android:id="@+id/text"
        android:title="Text"/>
    <item
        android:id="@+id/icon1"
        android:title="Icon and Text"
        android:icon="@drawable/icon"/>
</menu>

А это мой файл SimpleOptionMenuActivity.java:

public class SimpleOptionMenuActivity extends Activity {
     @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater=getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {         
        case R.id.icon:
            Toast.makeText(this, "Icon menu option is clicked", Toast.LENGTH_SHORT).show();
            break;

        case R.id.text:
            Toast.makeText(this, "Text menu option is clicked", Toast.LENGTH_SHORT).show();
            break;

        case R.id.icon1:
            Toast.makeText(this, "Icon and Text menu option is clicked", Toast.LENGTH_SHORT).show();
            break;
        }
        return true;
    }
}

1) При нажатии кнопки меню эмулятора меню отображается как ListView, т.е. одно над другим, но я хочу, чтобы параметры отображались один рядом с другим, 3 элемента в строке, т.е. если есть четыре элемента, то будет два rows (что обычно, я не знаю, как это правильно объяснить).

2) Изображение не отображается. Я проверил файл R.java, значок присутствует внутри доступного внутреннего класса, но все равно не отображается в меню.

Помогите пожалуйста решить две задачи.


person WhoAmI    schedule 19.03.2012    source источник
comment
Нужно ли менять представление в самом эмуляторе, чтобы изменить макет? Любая помощь/предложения, пожалуйста? Пожалуйста помоги   -  person WhoAmI    schedule 25.03.2012
comment
Любая помощь? Пожалуйста, спросите, если вам нужно какое-то дополнительное объяснение, но, пожалуйста, помогите мне в этом. Спасибо, Банти   -  person WhoAmI    schedule 25.03.2012
comment
любая помощь.......................   -  person WhoAmI    schedule 26.03.2012


Ответы (2)


Измените версию API с 15 на 11 или ниже. Кроме того, изображение не отображается, потому что вы, возможно, выбрали слишком большое изображение для определенной папки с возможностью рисования.

drawable-hdpi с иконками размером 72 на 72 пикселя

drawable-mdpi с иконками размером 48 на 48 пикселей

а также

drawable-ldpi с иконками размером 36 на 36 пикселей

person UselessNoob    schedule 26.07.2012

Вопрос 1:

в AndroidManifest.xml найдите что-то вроде следующего: «uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" " удалите android:targetSdkVersion="16"

Вопрос 2:

мой файл menu.xml выглядит следующим образом:

<item android:id="@+id/about"
      android:icon="@drawable/about"
      android:title="@string/about"
      android:showAsAction="ifRoom|withText" /> 

работает, покажи иконку с изображением, можешь попробовать.

person kiddingmu    schedule 15.07.2013