【发布时间】:2012-07-25 07:45:00
【问题描述】:
我想设置我的视图位置。 有 setX/setY 或 setLeft/setTop 方法,但这些方法从 API 11 开始可用。 在其他 API 中具有这种功能的解决方案是什么。
【问题讨论】:
我想设置我的视图位置。 有 setX/setY 或 setLeft/setTop 方法,但这些方法从 API 11 开始可用。 在其他 API 中具有这种功能的解决方案是什么。
【问题讨论】:
这取决于您使用的布局。使用RelativeLayout,您可以执行以下操作:
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)child.getLayoutParams();
layoutParams.leftMargin = x;
layoutParams.topMargin = y;
child.setLayoutParams(layoutParams);
【讨论】:
尝试覆盖 onDraw 方法并在画布上设置 x/y 平移?
@Override
protected function onDraw(Canvas c){
c.save();
c.translate(x,y);
c.restore();
}
我认为这不是一个好的解决方案,但这是我唯一的想法。
【讨论】:
我唯一可以“开箱即用”的工作就是设置视图填充。
View.setPadding(left, top, right, bottom);
这不是最好的解决方案,但它适用于早于 11 的 API,并将模拟以 X、Y 方式移动视图。
希望有帮助!
【讨论】: