繁体   English   中英

以编程方式将视图移动到低于14的api

[英]Moving a View programmatically for api lower than 14

我正在使用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的RelativeLayout num是当前触摸屏幕的手指数。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM