ConstraintLayout
을 사용하여 가입 화면을 디자인했습니다. 스크롤보기 안에 ConstraintLayout
을 넣었습니다. 사용자는 키패드가 열려 있어도 전체 내용을 스크롤하고 볼 수 있어야합니다. 이 기능은 RelativeLayout
을 사용할 때 작동하지만 ConstraintLayout
을 사용할 때는 작동하지 않습니다. 화면 하단에있는보기가 키패드 뒤에 숨겨져 있습니다. 다음은 내가 사용하고있는 레이아웃입니다.키패드를 열어서 아래로 구속 레이아웃을 엽니 다.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:paddingTop="23dp"
android:fillViewport="true"
tools:context="com.givhero.activities.LoginActivity">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
tools:context="com.givhero.activities.LoginActivity">
<ImageView
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp"
android:src="@drawable/back"
android:tint="@color/colorPrimary"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="0dp"/>
<TextView
android:id="@+id/regEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:paddingLeft="10dp"
android:text="@string/sign_up_email"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/titles_lists"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/back"
tools:layout_editor_absoluteX="0dp"/>
<TextView
android:id="@+id/nameEditText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="15dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginStart="15dp"
android:layout_marginTop="30dp"
android:background="@android:color/transparent"
android:gravity="left"
android:hint="Name"
android:textColor="@color/dark"
android:textColorHint="@color/dark"
android:textSize="@dimen/base"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/regEmail"
/>
<View
android:id="@+id/nameDivider"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginTop="15dp"
android:background="@color/divider"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/nameEditText"
/>
<EditText
android:id="@+id/emailEditText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="15dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginStart="15dp"
android:layout_marginTop="30dp"
android:background="@android:color/transparent"
android:gravity="left"
android:hint="Email"
android:inputType="textEmailAddress"
android:textColor="@color/dark"
android:textColorHint="@color/dark"
android:textSize="@dimen/base"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/nameDivider"
/>
<View
android:id="@+id/emailDivider"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginTop="15dp"
android:background="@color/divider"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/emailEditText"/>
<Button
android:id="@+id/submitButton"
android:layout_width="0dp"
android:layout_height="62dp"
android:layout_marginEnd="15dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginStart="15dp"
android:layout_marginTop="30dp"
android:background="@drawable/button_theme"
android:enabled="false"
android:text="@string/sign_up"
android:textColor="#FFFFFF"
android:textSize="@dimen/base"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/emailDivider"
/>
<TextView
android:id="@+id/signUpMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="30dp"
android:padding="15dp"
android:text="@string/sign_up_message"
android:textColor="@color/dark80Opacity"
android:textSize="@dimen/medium12"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/submitButton"
/>
</android.support.constraint.ConstraintLayout>
</ScrollView>
다음을 Manifest에 추가했습니다.
<activity android:name=".activities.EmailSignupActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize">
</activity>
예상대로 스크롤하지 않더라도. 이해
의 스크린 샷을 다음 당신은 내가 EditText
필드와 가입 버튼 아래 텍스트를 볼 수 있듯이. 내가 기대하는 바는 사용자가 키보드가 열려 있어도 텍스트를 볼 수있는 페이지의 맨 아래로 스크롤 할 수 있어야한다는 것입니다. 키패드가 나는 키보드가 열려있을 때보기를 스크롤 할 수 없습니까
열려있을 때 다음과 같은 화면을 확인하시기 바랍니다. 사람이이 문제에 붙어과 대답 여기 도착하는 경우
편집 이봐,
. 마침내 해결책을 찾을 수있었습니다. 이 문제의 정확한 이유를 파악하지 못했지만 레이아웃을 스크롤하지 못하게하는 원인을 파악할 수있었습니다. 처음에, 나는 위의 라인이 문제를 야기하고 나는 그것을 제거한 후에 한 OnCreate
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
에 다음과 같은 설계를위한 상태 표시 줄을 포함하여 전체 화면을 차지하려고하고 사용되어왔다, 나는 스크롤 할 수 있었다 형세. 디자인을위한 상태 표시 줄을 포함하여 전체 화면을 차지하는 경우 왜 레이아웃이 스크롤되지 않는지 이유를 발견하게되어 기쁩니다.
안녕하세요, 시도했지만 아직 스크롤되지 않았습니다. – Anu