【发布时间】:2015-11-05 09:02:04
【问题描述】:
由于某种原因,我的TranslateAnimation 没有将 2 个ImageView 移动到正确的位置。老实说,我不知道为什么ImageView 会从屏幕上消失!!我定义 minY, maxY, minX, maxX 允许我在这些常量之间生成坐标
我检查了我生成的X and Y 坐标在屏幕maxY 和maxX 内。但是 imageview 不断从屏幕上移开!
我的屏幕maxY = 2500 和maxX = 1599。我正在使用 三星 Galaxy Tab S
生成随机 x + y 代码:
private static int[] generateRandomX(){
int[] numbers = new int[2];
int R;
int Low = 0;
int High = 800;
for(int i=0;i<numbers.length;i++) {
Random r = new Random();
R = r.nextInt(High - Low) + Low;
numbers[i] = R;
// Log.d("X pos -->", "X = "+numbers[i]);
}
return numbers;
}
private static int[] generateRandomY(){
int[] numbers = new int[2];
int R;
int Low = 1000;
int High = 2000;
for(int i=0;i<numbers.length;i++) {
Random r = new Random();
R = r.nextInt(High - Low) + Low;
numbers[i] = R;
// Log.d("Y pos -->", "Y = "+numbers[i]);
}
return numbers;
}
这里是我将 x 和 y 分配给 TranslateAnimation 的地方
这段代码负责将ImageView从0X, toX, 0Y, toY移动
public static void swipedDiceInThisDirection(float n1, float n2, float n3, float n4){
//Die1
moveDie1 = new TranslateAnimation(0, n1, 0, n2); // new TranslateAnimation(xFrom,xTo, yFrom,yTo)
moveDie1.setDuration(2000); // animation duration
//Die2
moveDie2 = new TranslateAnimation(0, n3, 0, n4);
moveDie2.setDuration(2000);
moveDie1.setFillAfter(true);
moveDie2.setFillAfter(true);
moveDie1.setFillEnabled(true);
moveDie2.setFillEnabled(true);
animationListeners(); //Animation listeners
determineDiceClicked();
}
【问题讨论】:
标签: java android android-animation coordinate-systems