0

我正在開發Android中的簡單應用程序。每當我改變方向風景我的一個按鈕會丟失,當我在移動設備上運行應用程序,但我的橫向視圖與PC上的Andriod模擬器工作正常。除此之外,APP在移動設備上工作正常。我使用TABLE LAYOUT進行橫向定位。以下是我的代碼,請檢查問題出在哪裏。另外,ECLIPSE顯示「這個LinearLayout佈局或其LinearLayout父類是無用的」,爲什麼呢。橫向方向未顯示移動上的APP按鈕

RES /佈局/ 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> 

(景觀VIEW)RES /佈局,土地/ 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

我已測試你的xml.both工作fine.where是問題嗎? – TheFlash

+0

@Pratik當我運行我的Android模擬器上的應用程序它工作正常,但是當我運行我的Andriod移動應用程序,在橫向模式下它仍然隱藏我的按鈕之一。 –

回答

0

好了,你有2個嵌套的LinearLayout。在這種情況下,一個沒用,因爲它只包含第二個LinearLayout。只需刪除一個。

減少LinearLayout的paddingLeft和paddingRight以查看是否有幫助。

順便說一下,你構建的結構對於這個簡單的視圖來說真的很複雜。爲了在低設備上獲得最佳性能,請避免使用太多嵌套對象。

乾杯,

+0

thanx ...但我的應用很好只在模擬器上,移動設備上的問題依然存在。 –

+0

我不確定,但您可以仔細檢查您是否在清單文件中爲此活動設置了垂直模式和水平模式? –

+0

我在清單文件編碼中完成的唯一更改是「android:configChanges =」orientation | keyboardHidden「」 –

相關問題