我在这里阅读了很多帖子,但似乎找不到如何实现它。
我正在尝试创建以下布局xml。
我想要一个包含一些按钮的 LinearLayout
位于中间,在 LinearLayout
的顶部和开头之间我想要一个 textView
。
LinearLayout 在 ScrollView 中,而 ScrollView 又在 RelativeLayout 中。
我通过将 LinearLayout
和 TextView
放置在 RelativeLayout
中来实现此目标。 LinearLayout
位于父级的中心位置,而 textView
位于 linearLayout
上方和父级的顶部。文本垂直居中。
问题在于当 keyboard
打开时。 我只将 LinearLayout
放在 ScrollView
中。如果我在 manifest
中使用 adjustPan
,则什么也不会发生,我无法滚动。 如果我使用 adjustResize
,那么 Textview
将出现在 LinearLayout
的上方而不是上面。 那么我该怎么办呢? 还是不可能?我只想让 linearLayout
如果需要的话可滚动。以下是代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/black_overlay"
android:animateLayoutChanges="true"
android:hapticFeedbackEnabled="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_centerInParent="true"
android:id="@+id/scrollView">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:id="@+id/mLayout">
<Button
android:layout_marginBottom="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Match"
android:id="@+id/btn_newMatch"
style="@style/ButtonBar"
android:typeface="monospace"/>
<Button
android:layout_marginBottom="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Manage Matches"
android:id="@+id/btn_manageMatches"
style="@style/ButtonBar"
android:typeface="monospace"/>
<Button
android:layout_marginBottom="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Manage Teams"
android:id="@+id/btn_manageTeams"
style="@style/ButtonBar"
android:typeface="monospace"/>
<Button
android:layout_marginBottom="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Settings"
android:id="@+id/btn_settings"
style="@style/ButtonBar"
android:typeface="monospace"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Logout"
android:id="@+id/btn_logout"
style="@style/ButtonBar"
android:typeface="monospace"/>
</LinearLayout>
</ScrollView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Name"
android:typeface="monospace"
android:layout_above="@id/scrollView"
android:layout_alignParentTop="true"
android:gravity="center"
android:textSize="50dp"
android:textAppearance="?android:textAppearanceMediumInverse"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"/>
</RelativeLayout>
这是使用adjustResize后的当前效果:
没有键盘时:
![enter image description here](https://istack.dev59.com/Y7WNo.webp)
![enter image description here](https://istack.dev59.com/MlWpg.webp)
谢谢!!! :)