dado:Android - fragmento/ocultar mostrar deja un área vacía
- Dos elementos colocados verticalmente en la pantalla (ViewPager y el fragmento)
- Acción en el primer fragmento seleccionado actualmente (ViewFlipper) alterna entre en texto vista basada en WebView y en el fragmento superior y oculta/muestra el fragmento inferior.
Observado:
- ocultar el fragmento inferior deja un espacio vacío donde se encuentra el fragmento inferior.
He intentado tanto relativa y LinearLayout (con la parte superior fragmento establecido en weight=1
) pero ambos tienen ningún efecto después del fragmento de fondo está eliminado todavía tengo espacio vacío en la parte inferior
Aquí hay archivo de diseño de nivel superior:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dip" android:layout_weight="1"/>
<!-- This gets replaced with appropriate fragment at run time -->
<LinearLayout
android:id="@+id/scrollFragmentPlaceholder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="110dip" />
</LinearLayout>
aquí es código que activa o desactiva el fragmento
Fragment scroll = getSupportFragmentManager().findFragmentById(R.id.scrollFragment);
if (scroll.isHidden() == isWebView)
return; // already handled, do nothing
FragmentTransaction tr = getSupportFragmentManager().beginTransaction();
if (scroll != null && scroll.isAdded()) {
if (isWebView) {
tr.hide(scroll);
} else
tr.show(scroll);
}
tr.commit();
Y aquí cómo se ve:
has necesitado hacer .measure *() en la opinión de que sigue siendo ? – Codeman
No realmente, pero si invierto el orden y muestro la versión de texto/ocultar abajo, se muestra correctamente – Bostone
WebView para Android es bastante extraño. ¿Podría incluir algunas capturas de pantalla para que pueda ver de qué está hablando más específicamente? También necesita tener layoutWeight = 1 en ambas vistas si desea que ocupen la mitad del espacio disponible. También debe asegurarse de especificar orientation = "vertical" en la vista principal. – Codeman