Android: внешний вид меню и значок не отображаются - PullRequest
1 голос
/ 19 марта 2012

Я столкнулся с несколькими проблемами с меню параметров 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 элемента в строке, то есть если будет четыре элемента, то будет две строки (что обычно, я не знаю, как это правильно объяснить).

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

Пожалуйста, помогите мне решить две проблемы.

Ответы [ 2 ]

0 голосов
/ 15 июля 2013

Вопрос 1:

в файле AndroidManifest.xml найдите что-то вроде следующего: "used-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" /> 

работает, покажите значок изображения, попробуйте.

0 голосов
/ 26 июля 2012

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

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

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

и

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

...