2016-08-08 6 views
0

У меня есть макет входа с двумя EditText и Button. Когда я набираю текст в EditText, при открытии клавиатуры он перекрывает некоторые из моих layout. Я пытаюсь прокручивать вверх, но не могу прокручивать макет, чтобы быть видимым. Я использую Relative Layout для его создания. Как его решить? Спасибо.Android не в состоянии прокрутить страницу вверх

+0

Что вы спрашиваете? Опубликовать снимок, что вы получаете? – Piyush

ответ

0

Расположите EditText s и Button внутри ScrollView. Все, что находится внутри ScrollView, можно прокручивать. Таким образом, ваша проблема будет решена.

Обратите внимание, что ScrollView может разместить только одного ребенка. Таким образом, вы должны поместить все ваши View S Внутри ViewGroup как LinearLayout или RelativeLayout

Хотя ответ Julia Zhao является правильным, он использует RelativeLayout. Если вы используете RelativeLayout, вам нужно сделать больше работы, чтобы ваши View s появились один под другим. Поэтому я предлагаю вам использовать LinearLayout с android:orientation="vertical" внутри него. Он автоматически поместит один View ниже другого без каких-либо дополнительных усилий. Таким образом, вы не будете выпускать, как один View, перекрывающий друг друга.

<?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="wrap_content"> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="UserName"/> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dp" 
      android:hint="Password"/> 

     <Button 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dp" 
      android:text="Login"/> 
    </LinearLayout> 

</ScrollView> 
+0

Спасибо за объяснение. – inc

0

Попробуйте вложить все в ScrollView, надеюсь, это поможет.

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <RelativeLayout 
     android:id="@id/RLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#000000" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     > 

       // Your code 

    </RelativeLayout> 

</ScrollView> 
Смежные вопросы