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