0

我在佈局故障時遇到了困難。我有不同的肖像和風景佈局。 即使兩者中的xml相同,該問題也只出現在橫向佈局上。一個GridView行的內部發生橫向排列時GridView內線性佈局的小故障

This image shows the problem

問題。在該行,我有這些控件:
TextView1 ImageButton1 TextView2 Textview3的EditText ImageButton2 Imagebutton3

我使用的佈局重量有TextView2,TextView3 &的EditText控件佔據的剩餘空間。

縱向佈局和橫向佈局的不同之處在於: 縱向佈局是由4個不同部分組成的垂直堆疊。該景觀與屏幕左側的兩個部分和右側的兩個部分分開。

這裏爲GridView行代碼:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:padding="5dp"> 

    <TextView 
     android:id="@+id/gridfield_MemoryOrdinalPosition" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:text="1" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:textColor="#ff6e807c" 
     android:textStyle="bold" 
     android:gravity="center_vertical" 
     android:layout_marginRight="5dp"></TextView> 

    <ImageButton 
     android:id="@+id/btnGoMemoryPosition" 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="@dimen/activity_horizontal_margin" 
     android:background="@mipmap/go_arrow" /> 

     <TextView 
      android:id="@+id/gridfield_MemoryLiftPosition" 
      android:layout_weight="1" 
      android:text="0.00" 
      style="@style/MemoryLiftPositionStyle" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:minWidth="150dp" 
      android:gravity="center_vertical|end" /> 

     <TextView 
      android:id="@+id/gridfield_MemoryLiftPositionUnits" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:gravity="center_vertical|start" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:textColor="#ff2d2eff" 
      android:text="in" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
     /> 

     <EditText 
      android:id="@+id/gridfield_MemoryName" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="3" 
      android:layout_marginEnd="@dimen/activity_horizontal_margin" 
      android:background="@drawable/rect_text_edit" 
      android:text="Named location" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="@android:color/black" 
      android:textCursorDrawable="@null" 
      android:layout_marginTop="5dp" 
      android:layout_marginBottom="5dp"/> 


    <ImageButton 
     android:id="@+id/btnSetMemoryPosition" 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@mipmap/save" 
     android:contentDescription="Save" /> 

    <ImageButton 
     android:id="@+id/btnClearMemoryPosition" 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@mipmap/trash" 
     android:contentDescription="Delete" /> 

</LinearLayout> 

回答

0

activity_horizontal_margin值可能在不同的景觀。 默認情況下,縱向爲16dp,橫向爲64dp。

+0

非常感謝!我是Android新手,從來不會認爲保證金值會因方向而有所不同。現在我知道要注意這一點。我花了很長時間嘗試其他事情,應該早點提問,但我非常感謝您的快速準確答覆。 – user2311543