【问题标题】:set position X/Y of a view before API 11 (Android)在 API 11 (Android) 之前设置视图的 X/Y 位置
【发布时间】:2012-07-25 07:45:00
【问题描述】:

我想设置我的视图位置。 有 setX/setY 或 setLeft/setTop 方法,但这些方法从 API 11 开始可用。 在其他 API 中具有这种功能的解决方案是什么。

【问题讨论】:

    标签: android view


    【解决方案1】:

    这取决于您使用的布局。使用RelativeLayout,您可以执行以下操作:

    RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)child.getLayoutParams();
    
    layoutParams.leftMargin = x;
    layoutParams.topMargin = y;
    
    child.setLayoutParams(layoutParams);
    

    【讨论】:

    【解决方案2】:

    尝试覆盖 onDraw 方法并在画布上设置 x/y 平移?

    @Override
    protected function onDraw(Canvas c){
        c.save();
        c.translate(x,y);
        c.restore();
    }
    

    我认为这不是一个好的解决方案,但这是我唯一的想法。

    【讨论】:

      【解决方案3】:

      我唯一可以“开箱即用”的工作就是设置视图填充。

      View.setPadding(left, top, right, bottom);
      

      这不是最好的解决方案,但它适用于早于 11 的 API,并将模拟以 X、Y 方式移动视图。

      希望有帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-20
        • 1970-01-01
        相关资源
        最近更新 更多