Me han resuelto mi pregunta. Decidí en lugar de tener un encabezado y un pie de página que se encuentra siempre en la parte inferior y la parte superior de la pantalla, respectivamente. A continuación, he creado un «centro de contenido», que yo encerrado dentro de un ScrollView diseño. He actualizado el código de abajo si la gente está interesada en ver lo que ahora parece.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:focusable="true"
android:focusableInTouchMode="true"
android:background="#FFFFFF">
<LinearLayout android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@layout/header"
android:layout_alignParentTop="true">
<ImageView android:src="@drawable/logo"
android:contentDescription="@string/logo_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dip"/>
</LinearLayout>
<ScrollView android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="350dip"
android:layout_below="@id/header">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="20dip" >
<!--  Email Label -->
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#372C24"
android:text="@string/email"/>
<EditText android:id="@+id/email_field"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:singleLine="true"
android:inputType="textEmailAddress"/>
<!--  Password Label -->
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:textColor="#372C24"
android:text="@string/password"/>
<EditText android:id="@+id/password_field"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:inputType="textPassword"/>
<!-- Login button -->
<Button android:id="@+id/login_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dip"
android:text="@string/login"/>
<!-- Register button -->
<Button android:id="@+id/register_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dip"
android:text="@string/register_button"/>
</LinearLayout>
</ScrollView>
<LinearLayout android:id="@+id/footer"
android:layout_width="fill_parent"
android:layout_height="90dip"
android:background="@layout/footer"
android:layout_alignParentBottom="true">
</LinearLayout>
</RelativeLayout>
InformationsquelleAutor Justin Papez | 2012-12-28

5 Comentarios

  1. 5

    Para mí, quitar android:windowSoftInputMode="adjustPan" de la <activity> etiqueta en AndroidManifest.xml archivo resuelto el problema.

    • Esta solucionado mi problema 🙂 Gracias!
    • Me pregunto ¿cuál es la alternativa si quiero utilizar el atributo!
  2. 1

    He quitado esta línea de la AndroidManifest.xml archivo

    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

    y añade esta línea

    android:theme="@android:style/Theme.NoTitleBar"

    ha solucionado mi desplazamiento aplicación e hizo que mi aplicación un aspecto más atractivo a la vista. Sin embargo, no estoy seguro de si esta es la correcta revisión.

  3. -1

    para mí, el problema era que el LinearLayout en el ScrowView había android:layout_height=»wrap_content».

    <ScrollView android:id="@+id/scroll_view1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true" >
    <LinearLayout android:id="@+id/layout_inside"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" --> This should not we wrap_content, but specific height.
    android:orientation="vertical" >
    • De acuerdo a Android directrices, android:layout_height atributo de la primera (y única) ScrollView los niños siempre deben ser «wrap_content«. Usted recibirá un paño que no deje de advertencia si utiliza match_parent.
  4. -2

    El ScrollView no funciona cuando se utiliza como elemento raíz de un XML de diseño.
    Tiene que ser envuelto dentro de un LinearLayout.

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <ScrollView android:id="@+id/scroll_view1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true" >
    <LinearLayout android:id="@+id/layout_inside"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    Tener una diversión ! !

Dejar respuesta

Please enter your comment!
Please enter your name here