我实际上是想在一个小移动的上安装一个全屏活动。以下是我的布局:
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello 1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello 2"/>
<LinearLayout
android:id="@+id/theLinearLayoutIWantToSee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<CustomEditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<CustomEditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="click"/>
</LinearLayout>
<LinearLayout
android:id="@+id/myLinearLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"></LinearLayout>
...Some TextViews...
<LinearLayout
android:id="@+id/myLinearLayout3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
...Some TextViews...
</LinearLayout>
</LinearLayout>
</ScrollView>
我的问题是,当通过单击其中一个editText显示键盘时,我想将屏幕居中在theLinearLayoutIWantToSee
上,按钮在底部。
实际上,如果我点击第一个editText,我只会看到键盘,editText和它上面的东西。
我显然已经尝试将adjustPan
和adjustResize
放在我的清单中,但这并不能解决我的问题。
你有什么建议吗?
2条答案
按热度按时间mcvgt66p1#
你可以试试
binding.theLinearLayoutIWantToSee.requestFocus()
。如果您没有使用我上面提到的
viewBinding()/binding
,只需将binding
部分替换为findViewById<LinearLayout(R.id.theLinearLayoutIWantToSee).requestFocus()
还要注意的是,您可以在所需
editText
的单击事件上应用requestFocus()
部件。因此,它只会在单击事件时请求焦点,而不是立即请求。如果这个解决方案没有帮助,请给予一些详细的解释。这样任何人都可以帮助你实现你想要的目标。
c3frrgcw2#
在java中,你可以这样做: