0

Je développe une application simple dans Android. Chaque fois que je change d'orientation en paysage, l'un de mes boutons est perdu lorsque j'exécute APP sur un appareil MOBILE mais ma vue en mode paysage fonctionne correctement avec Andriod Simulator sur PC. Autre que cela, APP fonctionne très bien sur le périphérique mobile. J'utilise TABLE LAYOUT pour l'orientation paysage. Ci-dessous est mon code s'il vous plaît vérifier où est le problème. Également ECLIPSE montre que "Cette disposition LinearLayout ou son parent LinearLayout est inutile" pourquoi est-ce.orientation paysage ne pas montrer APP BOUTONS sur MOBILE

res/layout/activity_sudoku.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="30dip" 
    android:orientation="horizontal" > 
    <LinearLayout 
    android:orientation="vertical" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:layout_gravity="center"> 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginBottom="25dip" 
     android:text="@string/main_title" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/continue_label" /> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 

     android:layout_marginTop="21dp" 
     android:text="@string/new_game_label" /> 

    <Button 
     android:id="@+id/button3" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 

     android:layout_marginTop="20dp" 
     android:text="@string/about_label" /> 

    <Button 
     android:id="@+id/button4" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="29dp" 
     android:text="@string/exit_label" /> 
</LinearLayout> 
</LinearLayout> 

(POUR PAYSAGE VIEW) res/layout terre/activity_sudoku.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="15dip" 
    android:orientation="horizontal" > 
    <LinearLayout 
     android:orientation="vertical" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:layout_gravity="center" 
    android:paddingLeft="20dip" 
    android:paddingRight="20dip"> 
     <TextView 
     android:text="@string/main_title" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginBottom="20dip" 
     android:textSize="24.5sp" /> 
     <TableLayout 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:layout_gravity="center" 
      android:stretchColumns="*"> 

     <TableRow> 
     <Button 
     android:id="@+id/button1" 
     android:text="@string/continue_label" /> 
     <Button 
     android:id="@+id/button2" 
     android:text="@string/new_game_label" /> 
     </TableRow> 


     <TableRow> 
     <Button 
     android:id="@+id/button3" 
     android:text="@string/about_label" /> 
     <Button 
     android:id="@+id/button4" 
     android:text="@string/exit_label" /> 
     </TableRow> 

     </TableLayout> 
     </LinearLayout> 
     </LinearLayout> 
+0

J'ai testé votre xml.both fonctionne bien. Où est le problème? – TheFlash

+0

@Pratik quand je cours l'application sur mon simulateur d'androïde cela fonctionne bien mais quand je cours l'application sur mon andriod mobile, en mode paysage il cache toujours un de mes boutons. –

Répondre

0

Eh bien, vous avez 2 LinearLayout imbriqué. Dans cette situation, on sera inutile car il ne contient que le second LinearLayout. Enlevez simplement un.

Réduire le paddingLeft et paddingRight du LinearLayout pour voir si cela aide. Par exemple, la structure que vous construisez est vraiment compliquée pour cette vue simple. Pour obtenir les meilleures performances sur les périphériques faibles, évitez d'utiliser trop d'objets imbriqués.

Cheers,

+0

merci ... mais mon application bien seulement sur simulateur, sur le problème de l'appareil mobile existe toujours. –

+0

Je ne suis pas sûr, mais pouvez-vous vérifier si vous définissez à la fois le mode vertical et le mode horizontal pour cette activité dans votre fichier manifeste? –

+0

le seul changement que j'ai fait dans mon codage de fichier manifeste est "android: configChanges =" orientation | keyboardHidden "" –

Questions connexes