С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Shahirizada
0 / 0 / 0
Регистрация: 19.10.2016
Сообщений: 9
1

Создание всплывающего меню

03.11.2016, 08:37. Просмотров 473. Ответов 2
Метки нет (Все метки)

Всем доброго времени суток. Вопрос такой - в проекте на Android Studio 2.1.3 пытаюсь создать всплывающее меню, привязанное к элементу. Меню работает, но хочу, чтобы пункты меню высвечивались сразу все, а получается так, что высвечивается первый пункт меню и есть прокрутка... Не могу найти атрибут, который отвечает за это(
Создание всплывающего меню

Код программы:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package com.example.admin.popupmenu;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.PopupMenu;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
 
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
 
            Button button = (Button) findViewById(R.id.button);
            TextView textView = (TextView) findViewById(R.id.textView);
            ImageView imageView = (ImageView) findViewById(R.id.imageView);
            button.setOnClickListener(viewClickListener);
            textView.setOnClickListener(viewClickListener);
            imageView.setOnClickListener(viewClickListener);
 
        }
 
        View.OnClickListener viewClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //при нажатии на  button, textView, imageView вызывается
                showPopupMenu(v);
            }
        };
 
    private void showPopupMenu(View v) {
        PopupMenu popupMenu = new PopupMenu(this, v);
        //получаем всплывающее меня из xml файла
        popupMenu.inflate(R.menu.popupmenu);
        popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
 
                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                        switch (item.getItemId()) {
 
                            case R.id.menu1:
                                Toast.makeText(getApplicationContext(),
                                        "Вы выбрали PopupMenu 1",
                                        Toast.LENGTH_SHORT).show();
                                return true;
                            case R.id.menu2:
                                Toast.makeText(getApplicationContext(),
                                        "Вы выбрали PopupMenu 2",
                                        Toast.LENGTH_SHORT).show();
                                return true;
                            case R.id.menu3:
                                Toast.makeText(getApplicationContext(),
                                        "Вы выбрали PopupMenu 3",
                                        Toast.LENGTH_SHORT).show();
                                return true;
                            default:
                                return false;
                        }
                    }
                });
 
        popupMenu.setOnDismissListener(new PopupMenu.OnDismissListener() {
 
            @Override
            public void onDismiss(PopupMenu menu) {
                Toast.makeText(getApplicationContext(), "onDismiss",
                        Toast.LENGTH_SHORT).show();
            }
        });
        popupMenu.show();
    }
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2016, 08:37
Ответы с готовыми решениями:

Создание контекстного меню в списках
Не понимаю как прикрепить контекстное меню к с писку. Что бы при нажатии на...

Создание меню в приложении: О чем говорит ошибка?
Делал все абсолютно так, как в этом видео, при запуске (Run app) вылазит...

Запрет всплывающего уведомления
Приложение запускает сервис, сервис запускает периодически всплывающие...

Создать базу данных с(Создание функции БД, Создание процедуры БД, Создание тригера БД)
В задание для курсовой работы по БД входят вот такие пункты: 1.2 Создание...

По умолчанию меню тулбара является прозрачным и сливается с фоном, как изменить фон текста меню?
Здравствуйте уважаемые форумчане! Возникла следующая проблема, я использую для...

2
shavuz
114 / 120 / 26
Регистрация: 29.01.2014
Сообщений: 596
03.11.2016, 11:05 2
надо использовать popupWindow, у него есть свой хмл и в него можно вставить любой обьект
0
Pablito
2767 / 2198 / 744
Регистрация: 12.05.2014
Сообщений: 7,722
Завершенные тесты: 1
03.11.2016, 11:08 3
Оформление ListView
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2016, 11:08

Хочу сделать подписи к меню, меню у меня создано ListView, есть два массива, как их передать в адаптер?
public class MainMenu extends ListActivity { public void onCreate(Bundle...

Меню только по нажатию кнопки меню
Нужно создать в приложении меню. Но так, чтобы оно всплывало только по нажатию...

При нажатии на пункт меню скрыть его, и показать другой пункт меню
Прошу помощи, как можно допустим при нажатии на пункт меню, его скрыть, и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru