android - photoview - ¿Cómo manejar pegatinas con la función de redimensionar y rotar?
zoom image android studio (5)
Actualmente estoy desarrollando una aplicación que permitirá al usuario agregar pegatinas (sombrero, pelos, gafas, etc.) en la imagen. El usuario puede cambiar el tamaño de esa etiqueta o rotarlo y moverlo también. Ver imagen
Tengo pegatinas, pero ¿cómo puedo colocarlas en la imagen original y moverlas / rotarlas / ampliarlas para ajustarlas en la imagen original?
Echa un vistazo al blogspot que intentaron implementar la funcionalidad de estirar la imagen con un clic de flecha y también eliminarla, y también puedes mover la imagen en la pantalla con un gesto.
Imagen de arrastrar y soltar También puedes ver la Demo de DragDropImage
También puede descargar el código fuente que se menciona en el blog.
https://.com/a/22908379/3034199
Encontré un buen resultado en http://code.google.com/p/android-multitouch-controller/ . Que maneja 3 en 1 facilidad. En Multi-Touch, puede desplazar su imagen, puede escalar su imagen y al mismo tiempo también puede rotar su imagen. Y puedes añadir el número de pegatinas que quieras.
Para ampliar / reducir una imagen, puede probar el siguiente código:
yourImageView.setLayoutParams(new GridView.LayoutParams(newWidthImage, newHeightImage));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
Espero que esto ayude.
Primer paso: Descarga este enlace de Lib. https://github.com/nimengbo/StickerView
Segundo: (StickerView, BubblePropertyModel, StickerPropertryModel.java en este archivo tres pegue su proyecto).
Tercer paso: debajo del código más allá de su archivo de actividad principal:
Nota: mainlayout es (objeto Relativelayout)
final StickerView stickerView21 = new StickerView(this);
stickerView21.setImageResource(R.drawable.fall_9);
stickerView21.setOperationListener(new StickerView.OperationListener() {
@Override
public void onDeleteClick() {
mViews.remove(stickerView21);
mainLayout.removeView(stickerView21);
}
@Override
public void onEdit(StickerView stickerView)
{
}
@Override
public void onTop(StickerView stickerView) {
int position = mViews.indexOf(stickerView);
if (position == mViews.size() - 1) {
return;
}
StickerView stickerTemp = (StickerView) mViews.remove(position);
mViews.add(mViews.size(), stickerTemp);
}
});
RelativeLayout.LayoutParams l11= new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
mainLayout.addView(stickerView21, l11);
mViews.add(stickerView21);
Puede consultar el siguiente enlace para stickerView
- https://github.com/nimengbo/StickerView
- https://github.com/kencheung4/android-StickerView
- https://github.com/uptechteam/MotionViews-Android
- https://github.com/wuapnjie/StickerView
- https://github.com/sangmingming/StickerView
- https://github.com/niravkalola/Android-StickerView
- https://github.com/Kaka252/StickerView
- https://github.com/yovenny/StickerView
mi ranking de preferencia es como 1> 2> 3> 4