¿Por qué Android Studio está eliminando y / o cambiando las limitaciones de layout_margin *?
Estoy usando android.support.constraint.ConstraintLayout
para mostrar las vistas de contenido de una tarjeta simple.
Estoy recibiendo cambios aleatorios en mi XML, cada vez, cuando:
- EventBus - El método anotado @Subscribe nunca se utiliza
- Cómo utilizar bibliotecas extra * .so en Android Studio y NDK
- Plugin Error: plugin necesario "Android Support" está deshabilitado
- ¿Es posible ejecutar el servicio en la plataforma android de forma continua incluso después de bloquear el dispositivo?
- Cómo depurar el módulo de la biblioteca android en Android Studio?
- Cambiar a la pestaña
Design
del editor deDesign
Android Studio - O cuando tengo un panel de
Preview
activado (en este caso, los cambios ocurren aún más a menudo durante mis cambios).
Estos cambios aleatorios incluyen:
- Eliminación de mis márgenes de diseño definidos manualmente (por ejemplo,
layout_marginEnd
) - Cambio de valores de mi valor de margen introducido manualmente
- Añadir
tools:layout_editor_absoluteX
values
Preguntas:
- ¿Alguien más experimenta la función de este Android Studio?
- ¿Cómo cambiar esta "característica", por lo que mis diseños no se destruye?
- ¿Dónde informar de este error a Google o JetBrains?
Eche un vistazo a este archivo diff, que se hizo automáticamente cuando se cambió a la pestaña Diseño:
PS .: Mi versión de Android Studio es 2.2.3
; Lo estoy ejecutando en macOS Sierra.
Actualización # 1
Como se sugiere, después de hacer layout_height="match_parent"
, obtengo modificaciones menos a menudo, pero aún así mi XML se desordena, cuando edito el layout en Layout Design'er: Esta vez quería establecer layout_marginTop
través de Design UI (la línea seleccionada es lo que quería añadir), pero también recibí los otros cambios no deseados:
-
layout_marginStart
eliminado; -
app:layout_constraintBottom_toBottomOf
IDs de referencia tienen un prefijo de signo "+", lo que significa que esos IDs se declaran de nuevo, por lo que cuando voy a utilizar la funcionalidad deGoto declaration
, tendré que elegir de la lista – no un comportamiento deseado. -
tools:layout_editor_absoluteX
se agrega. Podría ignorarlo, pero todavía – no lo que yo querría que suceda.
- Android Studio no pudo encontrar un Jvm válido (relacionado con MAC OS)
- cuáles son los paquetes que instalo desde sdk manager en android studio
- Añadir archivos .so pre-construidos en el proyecto utilizando Android Gradle plugin 0.7.3
- Gradle y estructura multiproyecto
- Error: Se requiere que Jack admita características de lenguaje java 8
- Facebook registerCallBack método no iniciado
- Proyecto de la biblioteca de Android con Android Studio
- ¿Cómo puedo configurar Android Studio para que pueda compilar cuando esté desconectado (desconectado de Internet)
Como @JoeyJubb mencionado, el uso de layout_height="match_parent"
resuelve este problema. Por lo menos XML no se modifica. Aunque, a veces la vista previa se genera incorrectamente.
He estado notando el mismo problema con Android Studio 2.3, el código cambió automáticamente cada vez que fui de la vista de texto a la vista de diseño en un proyecto reciente con ConstraintLayout. – Estoy bastante seguro de que sucede con RelativeLayout o cualquier otro diseño que desee utilizar también.
Supongo que es algún tipo de error de generación de código automático vinculado a la vista de diseño, no he sido capaz de encontrar una manera de apagarlo todavía.
No estoy seguro de que esto ayude porque estoy seguro de que ya lo has comprendido, pero si trabajas casi completamente en la vista de texto, el problema nunca sucede.
De vez en cuando uso la vista de diseño para comenzar mi diseño, pero una vez que tengo algo de trabajo, permanecer en la vista de texto personalmente parece ser más rápido para el proceso de desarrollo.
- Mostrar dos vídeos juntos y luego mostrar como un video fusionado en una sola pantalla
- Android: uso no válido de SingleClientConnManager: conexión aún asignada