我已经嵌套了LinearLayouts,其中一个在ScrollView中有一组垂直的EditText。问题每当我点击其中一个EditText和Android中的键盘时,一半EditText会消失,如果我在第一个编辑文本中写,我甚至看不到它或滚动到它。
我在Stackoverflow中尝试了不同的解决方案,例如添加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>
谢谢,我感谢您的帮助。
答案 0 :(得分:4)
根据您的问题,在活动清单中使用以下内容
<activity android:windowSoftInputMode="adjustPan"> </activity>
活动的主窗口未调整大小以便为软键盘腾出空间。 有关这方面的更多信息,请访问
http://developer.android.com/guide/topics/manifest/activity-element.html
答案 1 :(得分:0)
您只在声明文件中声明 android:windowSoftInputMode =“adjustPan”,从展示中删除 adjustResize 。
答案 2 :(得分:0)
我在设备上构建代码并在清单文件帮助中添加android:windowSoftInputMode="adjustPan"
在你的xml文件中
某事
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:focusable="true"
android:gravity="center_horizontal"
android:focusableInTouchMode="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
android:id="@+id/inputform"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
某事
我刚刚在google“scrollview cut edittext”中搜索并回答了问题。你是一名程序员,你必须自己完成任务;)
答案 3 :(得分:0)
这是因为您的按钮布局包含在滚动视图中,因此当键盘出现时,按钮布局将占用一些空间。您可以像这样更改布局:(将windowSoftInputMode
设置为adjustPan
)
<RelativeLayout 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:id="@+id/img"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher" />
<LinearLayout
android:id="@+id/title"
android:layout_below="@id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:orientation="horizontal">
<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:layout_marginLeft="60dp"
android:text="Credit Hours"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/buttons"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="clearForm"
android:text="Reset" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="Calculate"
android:text="Calculate" />
<TextView
android:id="@+id/gpa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:text="GPA" />
</LinearLayout>
<ScrollView
android:id="@+id/scrollview"
android:layout_below="@id/title"
android:layout_above="@id/buttons"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:focusable="true"
android:focusableInTouchMode="true">
<LinearLayout
android:id="@+id/inputform"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:id="@+id/crs1"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:gravity="center" />
<EditText
android:id="@+id/crs2"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
<EditText
android:id="@+id/crs3"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
<EditText
android:id="@+id/crs4"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
<EditText
android:id="@+id/crs5"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
<EditText
android:id="@+id/crs6"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
<EditText
android:id="@+id/crs7"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="64dp"
android:orientation="vertical">
<EditText
android:id="@+id/credit1"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:gravity="center" />
<EditText
android:id="@+id/credit2"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
<EditText
android:id="@+id/credit3"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
<EditText
android:id="@+id/credit4"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
<EditText
android:id="@+id/credit5"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
<EditText
android:id="@+id/credit6"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
<EditText
android:id="@+id/credit7"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" />
</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:layout_marginTop="28dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:text="Current GPA" />
<EditText
android:id="@+id/currentgpa"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:text="Taken Hours" />
<EditText
android:id="@+id/currenthours"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>