Android – 在api 8中使用view.setX()和setY

我正在研究android api8。 我想动态地在屏幕上定位/放置视图。 但要使用setX和setY,我们需要API级别11及更高级别。 我们如何在API 8中使用它,或者有任何替代方法吗? 需要帮忙

  • 固定位置不适用于移动浏览器
  • 位置getAccuracy()这个函数做什么?
  • 获取Android应用的当前位置地址
  • 融合位置提供程序setsmallestDisplacement在Android中不起作用
  • android从最佳提供商处获取位置
  • 在不使用gps或互联网的情况下获取用户的当前位置名称,但在android中使用Network_Provider
  • 从获取的坐标获取位置名称
  • 令人难以置信的GPS点数不准确。 是什么原因?
  • 您可以使用LayoutParams执行此操作。 这些可以添加到android界面的组件中以设置它们的边界和位置。

    示例(在RelativeLayout的子视图上设置LayoutParams)

     RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); //The WRAP_CONTENT parameters can be replaced by an absolute width and height or the FILL_PARENT option) params.leftMargin = 50; //Your X coordinate params.topMargin = 60; //Your Y coordinate childView.setLayoutParams(params); 

    请注意,LayoutParams的types必须等于要将其添加到的子视图的父级。 ( LinearLayout.LayoutParamsLinearLayoutRelativeLayout.LayoutParamsRelativeLayout等)。

    而且,而不是childView.setLayoutParams(params); 你也可以使用parentView.addView(childView,params); 将项目添加到父容器时设置Layoutparams。

    注意! 坐标的值以像素为单位。 由于最佳做法是使用DP值来定义接口大小,因此您可以使用这段代码将dp转换为像素:

     private int getPixels(int dipValue){ Resources r = getResources(); int px = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dipValue, r.getDisplayMetrics()); return px; } 

    如果视图是一个GroupView,并且假设视图边缘出现在屏幕之外,那么你还必须放置以下内容(Leon Lucardie的答案)。

     params.rightMargin=currentRightMargin -yourX; params.bottomMargin=currentBottomMargin -yourY; 

    避免视图内部布局中的扭曲

    您可以使用http://nineoldandroids.com/并通过以下方式获得1级API支持:

     ViewPropertyAnimator.animate(view).translationYBy(-yourY).setDuration(0);