需求是:有一系列自写控件要根据位置信息动态添加到布局里, 可如下代码只能显示最后一个控件,望有人能帮助下不胜感激!:
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都添加上背景色看看到底什么歌情况