我正在创建一个需要动态加载布局项的应用程序。 我有一个XML,我可以在舞台上多次添加元素的设计。另外,我有一个包含元素的RelativeLayout。要将一个元素添加到RelativeLayout,我使用:
...
View child = View.inflate(context, R.layout.buildinglayout, null);
parrent.addView(child, parrent.getChildCount()); //parrent is the relativeLayout
...
您可能已经猜到,buildinglayout.xml是元素的布局。一切都正确地添加到舞台上,显然没有任何问题。事情是元素适合舞台,所以我需要一个围绕RelativeLayout的ScrollView。唯一的问题是scrollview没有检测RelativeLayout的实际宽度和高度。所以......我这样做了:
...
View child = View.inflate(context, R.layout.buildinglayout, null);
parrent.addView(child, parrent.getChildCount()); //parrent is the relativeLayout
Log.v("BuildingView", "w:" + child.getWidth() + " h:" + child.getHeight());
Log.v("ParrentView", "w:" + parrent.getWidth() + " h:" + parrent.getHeight());
...
Log.v的输出是:
03-29 06:56:43.803: VERBOSE/BuildingView(480): w:0 h:0
03-29 06:56:43.803: VERBOSE/ParrentView(480): w:0 h:752
任何人都可以告诉我该做什么,以便建筑视图和parrent的宽度和高度都是核心?
P.S。我在模拟器设备上使用Android 3.0
由于
答案 0 :(得分:0)
在UI线程完成后,UI线程中添加的视图将反映出来。
尝试在UI线程完成后找到宽度。
然后只会给出实际的宽度和高度。
感谢。
答案 1 :(得分:0)
膨胀忽略了xml中指定的布局高度和宽度。设置子视图的布局参数或检查this如何给视图充气的答案。