Меню Instagram force touch на Android
Instagram на Android недавно добавила новую функцию, когда пользователь долго нажимает на пункты в разделе Обзор, появляется всплывающее меню и позволяет пользователю предварительно просмотреть фото/видео вместо перехода к его деталям. Это действительно здорово, как функция iOS force touch. Кто-нибудь знает, как мы можем сделать то же самое на Android-приложении? Можем ли мы просто использовать контекстное меню или окно наложения для этого? Спасибо
3 ответа:
Теперь я могу сделать то же самое на UI с этой библиотекой
Https://github.com/tvbarthel/BlurDialogFragment
Но дело в том, что: Когда я долго нажимаю на кнопку, Мне приходится отпустить палец, чтобы продолжить касаться фрагмента диалога. Событие прикосновения по-прежнему отправляются в деятельности не DialogFragment.
Знаете ли вы, как передать событие касания / фокус в фрагмент диалога сразу после его показа?
Это самая близкая библиотека, которую я нашел в интернете,
Https://github.com/nantaphop/HoverTouchView
Это может быть не совсем так, как у ИГ, но наверняка это дает идею
Я нашел 3DTouch, а также в Instagrame.
Эта библиотека размещена на Jitpack.io, что означает, что для его использования вам придется добавить следующее в корневую сборку.файл Gradle.
allprojects { repositories { ... maven { url "https://jitpack.io" } } }
И затем вам нужно будет добавить следующую зависимость к сборке приложений.файл Gradle.
dependencies { compile 'com.github.shalskar:PeekAndPop:v1.0.1' }
Использование:
Основное использование легко, просто предоставьте экземпляр действия, ресурс макета для peek и pop и 1 или более представлений, которые будут показывать peek и поп, когда долго щелкал.
PeekAndPop peekAndPop = new PeekAndPop.Builder(this) .peekLayout(R.layout.peek_view) .longClickViews(view) .build();
Вы можете получить представление peek, вызвав getPeekView() для объекта PeekAndPop, и использовать findViewById (), чтобы получить доступ к любым представлениям в макете peek.
View peekView = peekAndPop.getPeekView(); ImageView imageView = peekView.findViewById(R.id.image_view); TextView textView = peekView.findViewById(R.id.text_view);
Часто вы хотите, чтобы peek и pop показывались при нажатии на элемент в списке (или другом прокручиваемом представлении), чтобы убедиться, что peek и pop работают правильно, вам придется добавить следующую строку кода:
.parentViewGroupToDisallowTouchEvents(viewGroup)