屏幕底部带有按钮的 scrollView
scrollView with Button at Bottom of screen
我必须为表单数据使用滚动视图,并且按钮应该位于屏幕底部。我已经实现了。但问题是,每当 EditText 获得焦点并且键盘打开时,按钮不会停留在屏幕底部,它恰好位于 android 键盘上方。无论是否打开键盘,我都希望它位于底部。
我试过 android:fillViewport="true"
滚动视图,但它没有提供正确的输出。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/lout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:id="@+id/fout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="16dp"
android:paddingTop="10dp">
<ImageView
android:id="@+id/fimg"
android:layout_width="match_parent"
android:layout_height="250dp"
android:src="@drawable/addimg" />
<android.support.design.widget.TextInputLayout
android:id="@+id/vsubcusine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="10dp"
>
<EditText
android:id="@+id/add_food_title"
style="@style/textbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Title for Food"
android:inputType="text"
/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/vcusine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="cusine"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="0dp">
<Spinner
android:id="@+id/cusine"
style="@style/textbox"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:padding="10dp" />
</android.support.design.widget.TextInputLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp">
<RadioGroup
android:id="@+id/isveg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="20dp">
<RadioButton
android:id="@+id/veg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Veg" />
<RadioButton
android:id="@+id/nonveg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Non-Veg" />
</RadioGroup>
</LinearLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/vfprice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="0dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="0dp"
>
<EditText
android:id="@+id/fprice"
style="@style/textbox"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="price"
android:inputType="number" />
</android.support.design.widget.TextInputLayout>
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/t"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="2">
<Button
android:id="@+id/foodadd"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/button"
android:text="ADD FOOD"
android:textColor="#FFF"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
在 manifest 中,只需将 android:windowSoftInputMode="adjustPan"
添加到相应的 activity 标签中:
<activity
android:name=".YourActivity"
android:windowSoftInputMode="adjustPan">
输出:
希望对您有所帮助。
我必须为表单数据使用滚动视图,并且按钮应该位于屏幕底部。我已经实现了。但问题是,每当 EditText 获得焦点并且键盘打开时,按钮不会停留在屏幕底部,它恰好位于 android 键盘上方。无论是否打开键盘,我都希望它位于底部。
我试过 android:fillViewport="true"
滚动视图,但它没有提供正确的输出。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/lout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:id="@+id/fout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="16dp"
android:paddingTop="10dp">
<ImageView
android:id="@+id/fimg"
android:layout_width="match_parent"
android:layout_height="250dp"
android:src="@drawable/addimg" />
<android.support.design.widget.TextInputLayout
android:id="@+id/vsubcusine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="10dp"
>
<EditText
android:id="@+id/add_food_title"
style="@style/textbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Title for Food"
android:inputType="text"
/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/vcusine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="cusine"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="0dp">
<Spinner
android:id="@+id/cusine"
style="@style/textbox"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:padding="10dp" />
</android.support.design.widget.TextInputLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp">
<RadioGroup
android:id="@+id/isveg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="20dp">
<RadioButton
android:id="@+id/veg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Veg" />
<RadioButton
android:id="@+id/nonveg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Non-Veg" />
</RadioGroup>
</LinearLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/vfprice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="0dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="0dp"
>
<EditText
android:id="@+id/fprice"
style="@style/textbox"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="price"
android:inputType="number" />
</android.support.design.widget.TextInputLayout>
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/t"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="2">
<Button
android:id="@+id/foodadd"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/button"
android:text="ADD FOOD"
android:textColor="#FFF"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
在 manifest 中,只需将 android:windowSoftInputMode="adjustPan"
添加到相应的 activity 标签中:
<activity
android:name=".YourActivity"
android:windowSoftInputMode="adjustPan">
输出:
希望对您有所帮助。