Как сфокусироваться на перетаскивании тени при включенной обратной связи?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как сфокусироваться на перетаскивании тени при включенной обратной связи?

Сообщение Anonymous »

Я использую собственный DragShadowBuilder для перетаскивания. Тень перетаскивания будет создана после длительного щелчка по элементу при включенной обратной связи.
Через 1 секунду я отправляю событие доступности в перетащить тень. Помимо отправки TYPE_VIEW_ACCESSIBILITY_FOCUSED, я также попробовал TYPE_VIEW_FOCUSED и TYPE_VIEW_HOVER_ENTER.
После начала перетаскивания я не могу сфокусировать обратную связь (зеленую рамку) поверх тени перетаскивания.

Код: Выделить всё

binding.item.setOnLongClickListener { view ->
val data = ClipData.newPlainText("", "")
val shadowBuilder = CustomDragShadowBuilder(view)
view?.startDragAndDrop(data, shadowBuilder, view, 0)
view.postDelayed({
shadowBuilder.view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED)
}, 1000)
false
}
CustomDragShadowBuilder следующим образом.

Код: Выделить всё

class CustomDragShadowBuilder(view: View) : View.DragShadowBuilder(view) {
init {
view.importantForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_YES
view.contentDescription = "one two three"
}
override fun onDrawShadow(canvas: Canvas) {
canvas.drawColor(view.context.getColor(R.color.custom_drag_shadow_color))
view.draw(canvas)
}
override fun onProvideShadowMetrics(outShadowSize: Point, outShadowTouchPoint: Point) {
val width = view.width
val height = view.height
outShadowSize.set(width, height)
outShadowTouchPoint.set(width / 2, height / 2)
}
}
Кроме того, я обнаружил, что не могу найти этот узел тени перетаскивания в дереве компонентов моего приложения, и его создание, похоже, не оказало никакого влияния на мое приложение.Я ожидаю, что после начала перетаскивания диалог (зеленая рамка) будет сфокусирован на тени перетаскивания.

Подробнее здесь: https://stackoverflow.com/questions/789 ... alkback-on
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»