borde superior en FrameLayout utilizando las pestañas
-
11-10-2019 - |
Pregunta
I tiene una pantalla que utiliza pestañas en mi aplicación Android. Hay una línea (como un borde) que muestra entre el TabWidget y la FrameLayout. Quiero para deshacerse de esa línea, pero parece que no puede encontrar lo que es. Yo he determinado que es parte de la FrameLayout estableciendo su visibilidad a ido. Por favor, consulte el siguiente código:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#fb8c10"
>
<ImageView
android:id="@+id/img_confirm_header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/confirm_header"
/>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="0dip"
android:background="#fb8c10"
android:tabStripEnabled="false"
/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/tab_bg"
/>
</LinearLayout>
</TabHost>
Este es un eslabón de la disposición actual y lo que yo estoy tratando de hacer http://img441.imageshack.us/g/screenshot20110116at513.png/
El diseño de naranja es mi aplicación, y el gris es lo que estoy tratando de hacer.
Observe cómo en la pantalla de la pestaña gris desemboca en el marco.
Disculpas por los enlaces, no puedo publicar imágenes aún: p
Gracias!
Solución
I logró resolver este manipulando el índice z usando la disposición relativa. Yo era capaz de posicionar las lengüetas ligeramente sobre el diseño del marco. Consulte el código de abajo:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#fb8c10"
>
<ImageView
android:id="@+id/img_confirm_header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/tab_header"
/>
<RelativeLayout
android:id="@+id/widget77"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
android:layout_marginTop="33dip"
/>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fb8c10"
android:tabStripEnabled="true"
android:layout_above="@android:id/tabcontent"
android:layout_marginBottom="40dip"
/>
</RelativeLayout>
</LinearLayout>
</TabHost>
Otros consejos
Hace un momento me encontré con este problema. Sin embargo, también trató de eliminar el borde superior de FrameLayout. Lo hice. pero yo no creo que es una manera de eliminar el borde superior. FYI todos modos,
Sólo tiene que colocar un TextView con fondo blanco en la frontera y el uso AbsoluteLayout.
Por ejemplo:
<AbsoluteLayout>
<TabHost
android:layout_x="0dip"
android:layout_y="5dip" ...>
<AbsoluteLayout android:padding="5dip" android:background="#ffffff">
<TabWidget/>
<FrameLayout ....
android:layout_x="0dip" android:layout_y="65dip" />
</AbsoluteLayout>
</TabHost>
<TextView
android:layout_width="fill_parent" android:layout_height="25dip"
android:layout_x="0dip" android:layout_y="65dip"
android:background="#ffffff"/>
</AbsoluteLayout>