gpt4 book ai didi

Android:如何在聚焦时将 ScrollView 中的 EditText 放在另一个 View 上方?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:52 24 4
gpt4 key购买 nike

我的应用程序设计让我对每个表单 View 都有这种布局: View 底部有一个 float 按钮。我正在使用 ConstraintLayout 动态设置按钮的高度,无论屏幕宽度如何,左/右边距始终相同,所以我最终得到了这个布局:

<ConstraintLayout>
<ScrollView>
<EditText/>
<EditText/>
<!-- ... -->
<ConstraintLayout /> (1)
</ScrollView>
<Button/>
</ConstraintLayout>

(1) 使用底部按钮高度的清晰 View ,以便不隐藏 ScrollView 底部的 View ,这些 View 会被按钮隐藏

基本上,这就是它的样子:

enter image description here

现在我遇到的问题是当我点击底部的编辑文本时,例如这里的第 4 个:

enter image description here

编辑文本在键盘上移动,但不是 float 按钮,它经常被它隐藏。我知道我必须在编辑文本的 onFocusChanged() 方法中做一些事情,但我不知道是什么...

最佳答案

I know that I have to do something in the edit text's onFocusChanged() method.

没有。您不必手动执行操作。只需将此属性添加到按钮即可。这将使按钮位于父布局的底部,而不是位于 EditText 的底部(如果已经这样做,您可以跳过此操作)。

app:layout_constraintBottom_toBottomOf="parent"

并将此属性添加到表示该特定 Activity 的 Activity 标签。它会将可视区域的高度降低一个等于软键盘高度的量,这样它就不会落后于内容。

android:windowSoftInputMode="adjustResize"

参见 doc以获得更详细的解释。

另请注意,ScrollView 只能托管一个直接子项,如下例所示。

<ScrollView
...>
<LinearLayout
...>
<!-- You can place multiple views here -->
</LinearLayout>
</ScrollView>

关于Android:如何在聚焦时将 ScrollView 中的 EditText 放在另一个 View 上方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50880266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com