我注意到谷歌地图和 lyft 这样的应用程序有一个 feature/behavior,当用户开始在文本字段中键入地址时,文本字段占用整个屏幕(开始一个新的活动),特别关注输入。当用户从列表视图中选择某些内容时,他们将使用所有其他信息返回到屏幕
我只是好奇这样的事情是如何实现的。他们使用不同的活动吗?
我正在处理的应用程序具有类似的功能,但我想我不知道如何在用户开始输入时让我的文本字段覆盖整个屏幕(或者可能启动不同的活动)。
我只是在寻找一个指针或一个例子。不幸的是因为我不知道我正在寻找的确切名称,这使得在文档中搜索它有点困难。任何指针将不胜感激!
**PS:**我知道这种方法,但这不是我想要
<activity android:name=".MyActivity" android:windowSoftInputMode=""/>
2 回答
我实际上会做的是:我会将其创建为“简单”视图。不是片段,不是活动。
我首先创建一个表示 TextView 的“扩展”版本的布局(我将区分视图的展开和折叠状态;展开是填充整个屏幕时的状态)。
我会将它的宽度和高度设置为
match_parent
,我会将它放在活动(或片段或其他)中。例如,用align_parentTop
锚定它。将主活动布局上的
clipChildren
设置为false
在这个
Activity
onCreate
里面(或其他一些类似的地方)一种容器),我会添加更像这样的东西:
码:
(如果您的应用适用于设备
< API16
,请记得使用removeGlobalOnLayoutListener()
)坍方:
扩大:
我最终做的一个更简单的方法是在文本字段激活后启动结果活动,并在新完成后设置值