【发布时间】:2025-12-09 07:35:01
【问题描述】:
我嵌套了 LinearLayouts,其中一个在 ScrollView 中有一组垂直 EditText。问题每次我点击其中一个 EditText 并且 android 中的键盘出现一半的 EditText 消失,如果我在第一个 Edit Text 中写入,我什至看不到它或滚动到它。
我尝试过在 * 中提到的不同解决方案,例如添加 android:windowSoftInputMode="adjustPan|adjustResize",但无济于事。
这是我的 MainActivity.xml
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:context=".MainActivity">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginTop="10dp"
android:src="@drawable/clac"
android:scaleType="centerCrop"
android:layout_gravity="center"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:layout_marginTop="16dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Letter Grade"
android:textSize="15sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Credit Hours"
android:textSize="15sp"
android:layout_marginLeft="60dp"
/>
</LinearLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:focusable="true"
android:focusableInTouchMode="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
android:id="@+id/inputform">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:layout_marginTop="10dp"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/crs1" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/crs2" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/crs3" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/crs4" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/crs5" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/crs6" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/crs7" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="64dp"
android:orientation="vertical"
>
<EditText
android:layout_marginTop="10dp"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/credit1" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/credit2" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/credit3" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/credit4" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/credit5" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/credit6" />
<EditText
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_gravity="center"
android:id="@+id/credit7" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="28dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Current GPA"
android:layout_marginLeft="20dp"/>
<EditText
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_marginLeft="5dp"
android:id="@+id/currentgpa"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Taken Hours"
android:layout_marginLeft="20dp"/>
<EditText
android:layout_height="wrap_content"
android:layout_width="48dp"
android:layout_marginLeft="8dp"
android:id="@+id/currenthours"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="16dp">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reset"
android:onClick="clearForm"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate"
android:onClick="Calculate"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="GPA"
android:layout_marginLeft="30dp"
android:id="@+id/gpa"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
感谢您的帮助。
【问题讨论】:
-
将 android:windowSoftInputMode="adjustPan 添加到 mainfest 解决了 EditText 隐藏的问题,但是 scrollView 不再起作用了。
标签: android android-layout android-studio scrollview android-5.1.1-lollipop