2

我想镜像应用程序并为根视图使用自定义的 relativeLayout 类。它工作正常,但我有一个问题。如果我刷新一个元素中的某些内容,而不是在物理位置上镜像,它将不会被更新。所以我必须更正坐标,应该更新,但我不知道如何。

 package de.etestdriver.everclock.gui;

 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Point;
 import android.graphics.Rect;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
 import android.view.View;
 import android.widget.RelativeLayout;

public class HUDRelativeLayout extends RelativeLayout{

public HUDRelativeLayout(Context context) {
    super(context);
    this.setWillNotDraw(false); 
}

public HUDRelativeLayout(Context context, AttributeSet attrs) {
    super(context, attrs);
    this.setWillNotDraw(false); 
}

public HUDRelativeLayout(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    this.setWillNotDraw(false); 
}

@Override
protected void dispatchDraw(Canvas canvas) {
    canvas.scale(-1,1, getWidth()/2, getHeight()/2);
    super.dispatchDraw(canvas); 
    canvas.restore();
}

@Override
public boolean dispatchTouchEvent(MotionEvent event) {
event.setLocation( getWidth()-event.getX(), event.getY());
    return super.dispatchTouchEvent(event); 
}


}
4

0 回答 0