2012-03-21 3 views
0

Je voudrais consulter un problème de mise en page XML. J'ai une activité principale, qui est une TabActivity et elle est remplie (les onglets sont) par une autre activité, qui est une ListActivity. Sur le scrren avec TabActivity principal je veux montrer une bande grise avec bouton (s) sur le bas de la page. Le problème est que le dernier élément de la liste est caché par la bande. Donc ce dont j'ai besoin, c'est que listview devrait avoir une bordure au même point que la bordure de la bande de boutons. Il est démontré par l'image ici:Incrustation de mise en page XML Android

http://postimage.org/image/h8yx7jxlj/

J'ai déjà essayé de changer le paramètre layout_height de plusieurs mises en page à wrap_content, mais il a aidé hasn't ...

PS Est-il possible comment modifier la taille de la police de l'en-tête d'onglet IN XML LAYOUT FILE?

Ceci est ma mise en page XML de l'activité principale:

<?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:padding="5dp"> 

    <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 


    <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp" /> 


</LinearLayout> 

<LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:gravity="center" 
     android:background="#666666"> 

    <Button android:id="@+id/settins_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="1sp" 
      android:text="volba zdrojů" 
      android:enabled="false" /> 

</LinearLayout> 

C'est le code de mise en page XML de l'activité qui est insérée dans tabcontrol en tant que contenu de l'onglet. (puis inséré dans FrameLayout du tabcontrol):

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 

<ListView 
     android:id="@+id/android:list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 


<TextView 
     android:id="@+id/android:empty" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="@string/main_no_items"/> 

</LinearLayout> 

Merci beaucoup!

+0

Je pense que la question est due à la partie supérieure LinearLayout ayant sa hauteur réglée sur fill_parent, tandis que LinearLayout fond a une gravité sur elle, l'amenant à prendre pas de place par rapport à la TabHost. Essayez de remplacer le LinearLayout supérieur par wrap_content pour la hauteur. –

Répondre

1

Veuillez utiliser RelativeLayout au lieu de LinearLayout. S'il vous plaît voir le code ci-joint qui fait exactement ce que vous voulez.

<?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:background="#FFFFFF" > 

    <TextView 
     android:id="@+id/text" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@+id/button" 
     android:layout_alignParentTop="true" 
     android:gravity="center_horizontal" 
     android:text="some text goes here" 
     android:textColor="#1E1E1E" 
     android:textSize="25sp" /> 

    <LinearLayout 
     android:id="@+id/button" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:orientation="horizontal" > 

     <Button 
      android:id="@+id/btn_send" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_weight="50" 
      android:onClick="handleSendReport" 
      android:text="@string/button_send" /> 
    </LinearLayout> 

</RelativeLayout>