当我点击edittext输入密码或用户名时,这对我的登录不起作用,我想在虚拟/软键盘打开时滚动项目。
我还尝试将Scrollview作为父标记然后使用LinearLayout标记,但内容仅从顶部开始,而我希望内容位于中心,因为我的背景有登录徽标。
<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="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/login"
android:gravity="center">
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<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:layout_gravity="center"
android:gravity="center">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">
<EditText
android:id="@+id/edt_email"
android:layout_width="match_parent"
android:layout_height="50dp"
android:hint="Email Address"
android:gravity="center|left"
android:textSize="16sp"
android:textColorHint="#c3c3c3"
android:singleLine="true"
android:background="@drawable/black_underline"
android:inputType="textEmailAddress"
android:paddingLeft="5dp"
android:textColor="#000"
/>
<EditText
android:id="@+id/edt_phone"
android:layout_width="match_parent"
android:layout_height="50dp"
android:hint="Phone Number"
android:gravity="center|left"
android:textSize="16sp"
android:textColorHint="#c3c3c3"
android:singleLine="true"
android:maxLength="10"
android:background="@drawable/black_underline"
android:inputType="number"
android:paddingLeft="5dp"
android:textColor="#000"
/>
<Button
android:id="@+id/btn_otp"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="20dp"
android:background="#449284"
android:text="Generate OTP Password"
android:textAllCaps="false"
android:textSize="20sp"
android:textColor="#fff"
android:gravity="center"
/>
<EditText
android:id="@+id/edt_otp"
android:layout_width="match_parent"
android:layout_height="50dp"
android:hint="OTP Password"
android:background="@drawable/black_underline"
android:gravity="center|left"
android:textSize="16sp"
android:textColorHint="#c3c3c3"
android:visibility="gone"
android:singleLine="true"
android:inputType="number"
android:layout_marginTop="20dp"
android:paddingLeft="5dp"
android:textColor="#000"
/>
<Button
android:id="@+id/btn_submit"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="20dp"
android:background="#449284"
android:text="Submit"
android:textSize="20sp"
android:textAllCaps="false"
android:visibility="gone"
android:textColor="#fff"
android:gravity="center"
/>
</LinearLayout>
</RelativeLayout>
</ScrollView>
</LinearLayout>
答案 0 :(得分:1)
如果你想使用ScrollView
,那么它必须是父母。然后,您可以使用RelativeLayout
作为父级,根据您的要求定位元素。
您也可以尝试在ScrollView中设置android:fillViewport="true"
。
如果您不能将ScrollView
作为父母,请考虑改为使用NestedScrollView
。
答案 1 :(得分:1)
添加
android:windowSoftInputMode="adjustResize"
将此行添加到Manifest中的特定活动。
答案 2 :(得分:1)
你必须添加
android:windowSoftInputMode="adjustResize"
在该特定活动的清单中。并将此属性添加到ScrollView
android:fillViewport="true"
如果您使用此行
android:windowTranslucentStatus=true
主题中的意味着删除它。