Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的镜像relativelayout,无更新_Android_Android Relativelayout_Mirror - Fatal编程技术网

android中的镜像relativelayout,无更新

android中的镜像relativelayout,无更新,android,android-relativelayout,mirror,Android,Android Relativelayout,Mirror,我想镜像应用程序,并为根视图使用自定义的relativeLayout类。 它工作正常,但我有一个问题。如果我刷新了某个元素中的某个元素,而该元素没有镜像到物理位置,则不会被更新。所以我必须修正坐标,它应该被更新,但我不知道怎么做 package de.etestdriver.everclock.gui; import android.content.Context; import android.graphics.Canvas; import android.graphics.Poin

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


}