Cómo obtener una referencia al grupo de vista principal
Estoy creando una forma escalable agregando una forma y manejándolas como vistas separadas a un ViewGroup. Una vez que se hace clic en un controlador, ¿cómo puedo obtener una referencia al ViewGroup para que pueda escalar todo? handle.getParent () devuelve null. Mi ViewGroup se creó mediante programación.
public class ShapeView extends ViewGroup { private SelectorView mSelectorView; public ShapeView (Context context) { super(context); RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(200, 200); this.setLayoutParams(p); mSelectorView = new SelectorView(context); this.addView(mSelectorView); } } public class SelectorView extends View { public RectangleDrawable mRectangleDrawable; public SelectorView (Context context) { super(context); Log.v(TAG, "constructor"); mRectangleDrawable = new RectangleDrawable(); RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(20, 20); this.setLayoutParams(p); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); mRectangleDrawable.draw(canvas); } public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { ViewGroup parentView = (ViewGroup)this.getParent(); parentView.setX(100); parentView.setY(100); break; } } return true; } }
- Barra de desplazamiento a ViewGroup personalizado
- Mi aplicación se bloquea al usar addView ()
- Android StackOverflowError en ViewGroup.resetResolvedTextDirection
- Evento de inflado de acabado de ViewGroup
- Android ViewGroup.setScaleX () hace que la vista se recorte
- Vistas dentro de un grupo de vistas personalizado que no se representan después de un cambio de tamaño
- ¿Cómo se anima un cambio en el relleno de una vista?
- ¿Por qué ir para el diseño de restricciones ya que ya tenemos Disposición relativa?
- Escala de diseño relativo personalizado?
- Implementar Drag & Drop en pan de jengibre
- NullPointerException: Intento de leer del campo 'int android.view.View.mViewFlags'
- ¿Cuál es la estructura de diseño típica de una actividad de configuración de Android?
- Generando un LayoutParams basado en el tipo de padre
Utilice SelectorView.this.getParent () en lugar de this.getParent ()
public class SelectorView extends View { public RectangleDrawable mRectangleDrawable; public SelectorView (Context context) { super(context); Log.v(TAG, "constructor"); mRectangleDrawable = new RectangleDrawable(); RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(20, 20); this.setLayoutParams(p); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); mRectangleDrawable.draw(canvas); } public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { ViewGroup parentView = (ViewGroup)SelectorView.this.getParent(); parentView.setX(100); parentView.setY(100); break; } } return true; } }
- ¿Cómo se inyecta impl de alguna interfaz en una actividad de Android utilizando Guice
- Captura de EditText Foco perdido