当前位置: 代码迷 >> Android >> AbsoluteLayout绝对布局动态添加控件有关问题
  详细解决方案

AbsoluteLayout绝对布局动态添加控件有关问题

热度:99   发布时间:2016-05-01 21:47:20.0
AbsoluteLayout绝对布局动态添加控件问题
需求是:有一系列自写控件要根据位置信息动态添加到布局里, 可如下代码只能显示最后一个控件,望有人能帮助下不胜感激!:

  private void LocationKeys(ArrayList<Key> keys) {
AbsoluteLayout.LayoutParams keyLp = (android.widget.AbsoluteLayout.LayoutParams) new LayoutParams(0, 0, 0, 0);
for (Key key : keys) {
key.setId(key.getId());
key.setImageBitmap(key.getBttnImg());
keyLp.width = key.getBttnImg().getWidth();
keyLp.height = key.getBttnImg().getHeight() ;
keyLp.x = key.getKeyLocation().getI() * this.screenWidth/ horizontalNum;
keyLp.y = key.getKeyLocation().getJ() * this.screenWidth/ verticalNum;

Log.d(debug, "keyLp.width = " + keyLp.width);
Log.d(debug, "keyLp.height = " + keyLp.height);
Log.d(debug, "keyLp.x = " + keyLp.x);
Log.d(debug, "keyLp.y = " + keyLp.y);

this.abslyt.addView(key,keyLp);
}

this.setContentView(abslyt);
}

------解决方案--------------------
abslyt的x,y,width,height如果也没问题的话 ,而且keyLp的x,y坐标都没问题的话那就有点奇怪啦,要不你把每个view包括absly都添加上背景色看看到底什么歌情况