我想镜像应用程序并为根视图使用自定义的 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);
}
}