0

ビューの位置を設定したいと思います。メソッド setX/setY または setLeft/setTop がありますが、これらのメソッドは API 11 以降で使用できます。他の API でこの関数を使用するための解決策は何ですか。

4

3 に答える 3

2

使用しているレイアウトによって異なります。次のことRelativeLayoutができます。

RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)child.getLayoutParams();

layoutParams.leftMargin = x;
layoutParams.topMargin = y;

child.setLayoutParams(layoutParams);
于 2013-10-21T07:56:52.763 に答える
0

「すぐに使える」作業に取り掛かることができた唯一のことは、ビューのパディングを設定することでした。

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

これは最善の解決策ではありませんが、11 よりも古い API で動作し、ビューを X、Y 方向に移動することをシミュレートします。

それが役立つことを願っています!

于 2013-07-17T11:20:05.347 に答える
0

onDraw メソッドをオーバーライドして、キャンバス x/y の翻訳を設定してみてください。

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

それは良い解決策ではないと思いますが、私が持っていた唯一のアイデアです。

于 2012-07-25T07:56:51.580 に答える