当我打开键盘来填充此编辑框中的数据时。整体布局缩小。我甚至试过了
android:windowSoftInputMode="adjustResize"
但是只要键盘可见,这个布局就会缩小 When Keyboard is not visible
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="10">
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:padding="10dp"
android:hint="UserName"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:padding="10dp"
android:hint="Address"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:padding="10dp"
android:hint="Phone"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:padding="10dp"
android:hint="Email"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:padding="10dp"
android:hint="Gender"
/>
</LinearLayout>
</ScrollView>
请帮我解决此问题。有没有办法让这个布局可滚动。
答案 0 :(得分:0)
layout_weight
内的LinearLayout
一起使用的 ScrollView
会导致视图缩放问题。如果您希望每个比例在屏幕上均等,则不需要ScrollView
。检查下面的更新布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="10">
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:hint="UserName"
android:padding="10dp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:hint="Address"
android:padding="10dp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:hint="Phone"
android:padding="10dp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:hint="Email"
android:padding="10dp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:hint="Gender"
android:padding="10dp"
/>
</LinearLayout>
答案 1 :(得分:0)
从您的所有
android:layout_padding="10dp"
删除EditTexts
属性,因为没有属性可用。XML代码应该是这样的。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="10">
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:hint="UserName"
android:padding="10dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:hint="Address"
android:padding="10dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:hint="Phone"
android:padding="10dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:hint="Email"
android:padding="10dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:hint="Gender"
android:padding="10dp" />
</LinearLayout>
</ScrollView>
And add Programmatically AdjustPan to your Activity's onCreate method
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);