IllegalStateException: Dimensiones de arrastrar sombra deben ser positivos

cornjolio:

https://developer.android.com/reference/android/view/View.DragShadowBuilder#public-constructors

Cuando utilizo el segundo constructor descrito anteriormente - "View.DragShadowBuilder () Construye un objeto constructor de sombra sin vista asociada."

la siguiente excepción se eleva: java.lang.IllegalStateException: dimensiones sombra Arrastre deben ser positivos

La segunda línea de código aquí hace esto por mí:

public boolean onLongClick(View view) {
    view.startDragAndDrop(null, new View.DragShadowBuilder(), view, 0); 
    return true;
}

Se produce en Android 9 solamente Pie. Lo he probado en anteriores versiones de Android sin ningún problema. He creado un problema en el seguimiento de incidencias Android, pero tal vez alguien aquí sabe por qué sucede o cómo resolverlo.

Mientras tanto estoy creando el nuevo View.DragShadowBuilderView (ver) con vista al ser un ImageView transparente que deja el choque por ahora, pero no estoy seguro de si es la mejor solución.

devgutt:

No hay necesidad de crear una visión transparente. Crear una costumbreDragShadowBuilder

public class MyDragShadowBuilder extends View.DragShadowBuilder {

    @Override
    public void onProvideShadowMetrics(Point outShadowSize, Point outShadowTouchPoint) {
        outShadowSize.set(1,1);
        outShadowTouchPoint.set(0,0);
    }
}

y reemplazar new View.DragShadowBuilder()con new MyDragShadowBuilder().

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=119719&siteId=1
Recomendado
Clasificación