当前位置: 代码迷 >> Android >> 一个保存坐标,并在app退出后重新显示坐标的有关问题
  详细解决方案

一个保存坐标,并在app退出后重新显示坐标的有关问题

热度:33   发布时间:2016-05-01 21:45:42.0
一个保存坐标,并在app退出后重新显示坐标的问题
RT
  我写的app的功能是实现一个button的拖拽,并能记录下button的坐标,同时,在下一次app被打开时,button需要显示在上一次被拖到的位置。

  拖的功能我已经实现了,并将最后一次的坐标用SharedPreferences来暂时存储,里面主要记录了button距离parent容器的left/top等信息。

  但是,在app开始时定位button时出现了问题,button的位置总是死死地处于父容器的左上角,请各位大大帮我看下问题在哪究竟,以下这段代码是写在onCreate()方法中的,程序如下:

------------------------------------------

  super.onCreate(savedInstanceState);
   
  setContentView(R.layout.main);

  ...

  // 初始化button的位置
  SharedPreferences sharedata = getSharedPreferences("data", 0);
  int left = sharedata.getInt("left", 0);
  int top = sharedata.getInt("top", 0);
  Button button = (Button) findViewById(R.id.buttonmove);

  button.layout(left, top, left + button.getWidth(), top + button.getHeight());

  button.invalidate();

------------------------------------------

button是已经在main.xml里定义好了的,放在一个FrameLayout中。

小弟菜鸟一枚,请大虾们不吝赐教
非常感谢...

------解决方案--------------------
FrameLayout布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
  相关解决方案