以编程方式为api低于14移动视图

时间:2015-01-06 15:49:55

标签: android api imageview relativelayout backwards-compatibility

我使用getX / getYsetX / 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]是我的ImageViewrel,我的xml的RelativeLayoutnum是当前触摸屏幕的手指数量。

private ImageView[] finger = new ImageView[10];
private RelativeLayout rel;

1 个答案:

答案 0 :(得分:0)

对于较低的API,您可以尝试设置ImageViews的边距:

RelativeLayout.LayoutParams params = finger[i].getLayoutParams();
params.leftMargin += i*100;
params.topMargin += i*100;
finger[i].setLayoutParams(params);