好吧,我贬低自己。它实际上让我感到困惑,因为它在模拟器上显示得很好,而不是在我的手机上。
在模拟器上,我看到自定义 SurfaceView _map 对象占据了整个屏幕,除了底部的 EditText 文本框,就在它应该在的位置。当我在摩托罗拉 Droid 上运行相同的代码、相同的所有内容时,任何地方都看不到 EditText。
我认为我所拥有的 LinearLayout 实现缺少一些东西。到目前为止,我在学习如何使用另一个 API 的布局管理器方面已经很轻松了。
这是代码:
_map = new Map(this);
_chatText = new EditText(this);
layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 1));
layout.setGravity(Gravity.BOTTOM);
layout.addView(_map, 0);
layout.addView(_chatText, 1);
setContentView(layout);
看起来如此简陋,所以老实说,我不知道为什么它在实际的 Android 设备上运行时会吃掉我的 EditText。可悲的是,我已经花了很多时间让它在模拟器本身中正确显示。