Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
#1

Аналог context menu - Программирование Android

11.09.2014, 11:46. Просмотров 633. Ответов 11
Метки нет (Все метки)

Всем привет. Я пишу судоку. Проблема в том что при взаимодействии с ячейкой вызывается новое активити(диалога, скрины снизу). И это очень не удобно в виду того, что диалог закрывает очень большую поверхность экрана, да к тому же чувствуется задержка при вызыве. Хотел бы сделать что-то типо контестного меню (нажал на ячейку и снизу выпал список цифр). Но я не имею понятия в какую сторону капать. Подскажите пожалуйста как это можно организовать.
0
Миниатюры
Аналог context menu   Аналог context menu  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2014, 11:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Аналог context menu (Программирование Android):

Context - ошибка - Программирование Android
Здравствуйте! Программа должна выводить карту из google. Использую Picasso как самое рациональное решение. При импользовании Picasso надо...

Объект Context - Программирование Android
Проблема такая: Я создаю новый класс в отдельном файле для работыSQLite и в нем мне нужен Объект Context, если я наследую Activity ...

Fragment and context - Программирование Android
Есть шерлокбар. Два таба у него. Каждому табу привязан свой фрагмент через tabListener. Хочу чтобы в первом табе...

Context немного теории - Программирование Android
Вообщем нужно мне было запустить из метода своего класса фрагмент. Вообщем как положено передал в класс контекст все дела. public...

Программирование Android. Context - Программирование Android
Добрый день! Прошу подсказать, почему в доках...

AsyncTask должен использовать Context - Программирование Android
Добрый день! Мое приложение должно использовать сетевое соединение, вынесенное в отдельный поток. В этом потоке я выполняю POST запрос...

11
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
11.09.2014, 11:55  [ТС] #2
Причитал что есть PopupMenu но для него вроде как нужны View'ы для вызова. А у меня это один разрисованный Veiw.
0
vxg
Модератор
3169 / 1972 / 221
Регистрация: 13.01.2012
Сообщений: 7,574
11.09.2014, 12:01 #3
для элемента с которым ассоциируется меню написать что-то такое
Java
1
2
3
4
5
6
7
registerForContextMenu((TextView)findViewById(R.id.productsMenu));
        ((TextView)findViewById(R.id.productsMenu)).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                openContextMenu((TextView)findViewById(R.id.productsMenu));
            }
        });
в активности написать что-то такое
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Override
    public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        getMenuInflater().inflate(R.menu.products, menu);
    }
    
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        if (item.getItemId() == R.id.action_cart) {
            if (MainActivity.cartProducts == null || MainActivity.cartProducts.size() == 0) {
                Toast.makeText(this, R.string.cart_empty, Toast.LENGTH_LONG).show();
            } else {
                Intent intent = new Intent(this, CartActivity.class);
                startActivity(intent);
            }
        }
        return true;
    }
файл меню лежащий в res/menu имеет какой-то такой вид
XML
1
2
3
4
5
6
7
8
9
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
 
    <item
        android:id="@+id/action_cart"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/cart"/>
 
</menu>
1
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
11.09.2014, 12:21  [ТС] #4
vxg, ещё хуже))
0
Миниатюры
Аналог context menu  
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
11.09.2014, 12:28  [ТС] #5
Как вариант сделать ещё одни кастомный View и показывать его в месте клика. Но я незнаю получся ли это. Ведь у меня даже никаких лайаутов нету. Тупо сразу в активити сетка судоку вставляется
0
vxg
Модератор
3169 / 1972 / 221
Регистрация: 13.01.2012
Сообщений: 7,574
11.09.2014, 13:29 #6
Цитата Сообщение от maxon887 Посмотреть сообщение
ещё хуже))
ну, мало ли какого результата требовалось добиться) я лишь попытался подсказать как заделать что-то вроде меню)
может при клике втыкать на место ячейки падающий список?

Добавлено через 44 секунды
...или делать видимыми ранее невидимые элементы для ввода расположенные на переднем плане?
1
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
11.09.2014, 14:45  [ТС] #7
vxg,
Цитата Сообщение от vxg Посмотреть сообщение
может при клике втыкать на место ячейки падающий список?
но его же вроде нужно привязывать к View'ам?
Цитата Сообщение от vxg Посмотреть сообщение
...или делать видимыми ранее невидимые элементы для ввода расположенные на переднем плане?
вот это мне больше подходит, лучше одни элемент просто передвигать. И я вот незнаю как это организовать у меня там никаких лайаутов, можно конечно подложить лайаут, не вопрос. Вот только какой и как там динамически элемент передвигать
0
vxg
Модератор
3169 / 1972 / 221
Регистрация: 13.01.2012
Сообщений: 7,574
11.09.2014, 14:57 #8
Цитата Сообщение от maxon887 Посмотреть сообщение
но его же вроде нужно привязывать к View'ам?
к чему вязать это рабочий момент. можно его вообще динамически создавать
Цитата Сообщение от maxon887 Посмотреть сообщение
вот это мне больше подходит
зачем там что то двигать и создавать динамически? просто нарисуйте там все что вам нужно в дизайнере и установите для всех этих элементов android:visibility="invisible". в коде включайте выключайте видимость через имя.setVisibility(View.INVISIBLE) или имя.setVisibility(View.VISIBLE)
1
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
11.09.2014, 15:04  [ТС] #9
Цитата Сообщение от vxg Посмотреть сообщение
зачем там что то двигать и создавать динамически? просто нарисуйте там все что вам нужно в дизайнере и установите для всех этих элементов android:visibility="invisible". в коде включайте выключайте видимость через имя.setVisibility(View.INVISIBLE) или имя.setVisibility(View.VISIBLE)
81 список нарисовать?)) для каждой ячейки судоку?))
Цитата Сообщение от vxg Посмотреть сообщение
к чему вязать это рабочий момент. можно его вообще динамически создавать
конструктор выподающего списка
Construct a new PopupMenu.
public PopupMenu (Context context, View anchor)
Parameters
context Context for the PopupMenu.
anchor Anchor view for this popup. The popup will appear below the anchor if there is room, or above it if there is not.

и там во всех конструкторах нужент anchor. а у меня один Veiw. Боюсь что мне это не подходит
0
vxg
Модератор
3169 / 1972 / 221
Регистрация: 13.01.2012
Сообщений: 7,574
11.09.2014, 15:10 #10
Цитата Сообщение от maxon887 Посмотреть сообщение
81 список нарисовать?)
зачем? может я просто не пойму чего надо. я так понял что нужна цифровая клавиатура и поле для отображения ввода. вот эти самые элементы и нарисуйте
0
maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
11.09.2014, 15:16  [ТС] #11
Цитата Сообщение от vxg Посмотреть сообщение
я так понял что нужна цифровая клавиатура и поле для отображения ввода. вот эти самые элементы и нарисуйте
Надо чтоб она появлялась в точке нажатия, была минимальных размеров чтоб не отвликала от игра
0
vxg
Модератор
3169 / 1972 / 221
Регистрация: 13.01.2012
Сообщений: 7,574
11.09.2014, 15:25 #12
Цитата Сообщение от maxon887 Посмотреть сообщение
Надо чтоб она появлялась в точке нажатия, была минимальных размеров чтоб не отвликала от игра
1 что то я сомневаюсь что возможен минимальный размер чем тот который занимает чуть ли не весь экран как это показано на скрине и, следовательно, можно все влепить в одну и туже позицию вне зависимости от того что нажмет человек, хотя все зависит от размеров устройства
2 можно сделать элементы большими как на скрене но полупрозрачными что бы было видно подсвеченное поле к которому относится вся эта штука
3 если прямо надо можно эти самые элементы сдвигать - при нажатии просто менять положение элементов перед их отображением.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2014, 15:25
Привет! Вот еще темы с ответами:

Использование Context в других классах - Программирование Android
У меня есть диалоговое окно, в котором я использую список. Требуется считать этот список с документа. Есть метод changeGroup, где...

Можно ли так передавать context? - Программирование Android
Не приведет ли это к утечке памяти? public class A{ public static void fileRead(Context context){ FileOutputStream...

Ошибка при смене Context - Программирование Android
Доброго времени суток! Делаю простую рисовалку. При попытке смены контекста MainActivity с базового на свой (с рисованием) перестают...

Вызов методов Context из статичного контекста - Программирование Android
Столкнулся с тем, что не могу получить содержимое ресурса из созданных классов. К примеру getString() не доступен. Нашел такой вариант...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
11.09.2014, 15:25
Ответ Создать тему
Опции темы

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