取得した座標の場所へViewを移動する方法

3,622 views
Skip to first unread message

あんこ

unread,
Feb 26, 2013, 12:51:10 AM2/26/13
to android-g...@googlegroups.com
いつもお世話になっております。
 
現在、Viewを任意の位置に移動するプログラムを書いているのですが、
移動した後、画面を移る(アクティビティを移動する)と場所がリセットされてしまいます。
 
ですので、移動した後、
view.getLocationOnScreen(location);
             aaa = location[0];
             bbb = location[1];
で座標を取得して値を保存する所までは出来たのですが、
元の場所に戻す事が出来ません。。。
 
調べて、
final Button button = (Button) findViewById(R.id.test);
        button .setTranslationX(aaa);
        button .setTranslationY(bbb);
 
で試してみたのですが、これだと位置がずれてしまいます。
(座標の基準となる場所が違うのでしょうね。。。)
 
view.getLocationOnScreen(location);
で取得した場合の、座標の再指定はどのように行うのでしょうか?
 
すみませんが、お教え頂けますか?いつも申し訳ありませんが、どうぞよろしくお願いいたします。

あんこ

unread,
Feb 26, 2013, 3:03:10 AM2/26/13
to android-g...@googlegroups.com
すみません。自己解決しました。。。
 
別の方法、
 
.getX()と.getY()で取得後、
 
.setX(float) 
.setY(float)
で出来たのですね・・・。
 
ただ、先の方法は何が間違っていたのでしょう・・・
後学のために、ご存知の方はご指摘頂けたら嬉しいです。
どうぞ、よろしくお願いいたします。

MORIHIRO

unread,
Feb 26, 2013, 3:29:40 AM2/26/13
to android-g...@googlegroups.com
後学のために、ということであれば、、、
実際のソースコードを確認してみる方法をオススメします。

http://tools.oesf.biz/android-4.0.3_r1.0/xref/frameworks/base/core/java/android/view/View.java
→ 巨大なファイルですけど、座標値関連のみであれば追えると思います。

2013年2月26日火曜日 17時03分10秒 UTC+9 あんこ:

あんこ

unread,
Feb 27, 2013, 4:01:53 AM2/27/13
to android-g...@googlegroups.com
MORIHIRO 様
 
はじめまして。
早々のアドバイス、ありがとうございます!
 
すごく気になるので、教えて頂いたソースを追って、
勉強してみたいと思います。
 
また不明な点等、お尋ねする事もあるかと思いますが、
どうぞよろしくお願いいたします。
 
失礼します。
Reply all
Reply to author
Forward
0 new messages