我使用getX
/ getY
和setX
/ setY
方法动态更改某些ImageView
的位置,以便让他们按照手指动作。问题是这些方法需要api等级14及以上。有没有其他方法可以使我的鳕鱼与较低的api水平相容?
以下是一些代码:
for (int i = 0; i < num; i++) {
rel.removeView(finger[i]);
finger[i].setBackgroundResource(R.drawable.finger);
try{
finger[i].setX(e.getX(e.getPointerId(i))-100);
finger[i].setY(e.getY(e.getPointerId(i))-100);
rel.addView(finger[i]);
}catch(Exception ex){
rel.removeView(finger[i]);
}
}
finger[i]
是我的ImageView
和rel
,我的xml的RelativeLayout
。
num
是当前触摸屏幕的手指数量。
private ImageView[] finger = new ImageView[10];
private RelativeLayout rel;
答案 0 :(得分:0)
对于较低的API,您可以尝试设置ImageViews
的边距:
RelativeLayout.LayoutParams params = finger[i].getLayoutParams();
params.leftMargin += i*100;
params.topMargin += i*100;
finger[i].setLayoutParams(params);