我使用appcompat21(按照android l的说明)将应用程序中的actionbar替换为一个工具栏。一切工作正常,除了从工具栏打开autocompletetextview下拉列表时,会出现奇怪的症状。当上下滚动这个列表时,我们看到以下工件(见屏幕截图)占据了工具栏的一半高度。
工件与滚动的列表不对齐-工件文本将向右缩进屏幕宽度的一半左右,但字体大小相同。这个工件显然也是一个单独的元素——换句话说,滚动到列表的上端会显示“end”,当你试图滚动到列表的末尾时,android会以通常的方式突出显示,而工件仍然在这个上面。当你滚动列表时,工件也以大致相同的速度滚动。
注意:我修改了屏幕截图,去掉了专有信息,这样就可以忽略工具栏上半部分的污迹(它只是用来显示工件刚好到达了工具栏的正上方),并假装有一个真正的可滚动列表,而不是单词列表。
我没有发布代码,因为我们的代码从android pre-l到android l根本没有变化,只有在l下我们才会出现这些症状(唯一的变化是新的工具栏)。我主要关心是否有人在使用android l和工具栏的其他应用程序中遇到过类似的症状,以及他们是如何克服这些问题的。
编辑:第二个屏幕截图显示了“静态”框,您有时可以将其作为工件获得(请参见工具栏左侧)。我试着让它比第一个更容易理解。
更新:
当我试图禁用整个应用程序的硬件加速时(在清单中)

android:hardwareAccelerated="false"

工件消失了,但是我仍然有一个黑色的条出现在工具栏高度的一半以上(见第三个屏幕截图)。

最佳答案

我花了很长时间才弄清楚,所以我会把它贴给其他遇到同样问题的人。问题是这一行代码:

android:popupBackground="@color/white"

如果去掉了,就彻底解决了整个神器问题。

关于android - Autocompletetextview下拉列表具有Android L的工件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27214353/

10-14 18:26