我使用AdjustPan自动平移应用程序,使EditText字段在软键盘出现时可见。到目前为止,这已经很好地工作了,但在最新的android 4.4kitkat版本中,actionbar会像往常一样展开,但会留下一个白色的框。我试过用eclipse视图层次工具调试它,但它忽略了这个框。我也尝试了v19的造型没有运气。这发生在各种Kitkat Nexus设备和模拟器上。
我很高兴把操作栏留在屏幕上,或者在窗口平移时完全删除它。如有任何帮助,请移开盒子。
最佳答案
我发现这只发生在应用程序硬件加速在清单文件中设置为true时。
我想让硬件加速保持打开状态,所以我在oncreate方法中编写了这个片段,只关闭action bar容器。
if(Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
Resources res = Resources.getSystem();
int id = res.getIdentifier("action_bar_overlay_layout", "id", "android");
ViewGroup overlayLayout = (ViewGroup) this.findViewById(id);
overlayLayout.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
更新
此问题已在android l preview api 20中修复。请注意,上述代码将导致android l中出现异常,因此版本条件需要对kitkat显式。
if(Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
关于android - 在Kitkat上用AdjustPan将操作栏替换为白框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21420556/