2013-10-19 84 views
0

我在XML中有一個複雜的佈局。爲什麼我的LinearLayout中的行不放在頂部?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@color/mainbackground" 
android:orientation="vertical" 
android:weightSum="1" > 

<LinearLayout 
    android:id="@+id/selector" 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.1" 
    android:orientation="horizontal" 
    android:weightSum="1" > 

    <TextView 
     style="@style/T2" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_weight="0.5" 
     android:gravity="center" 
     android:text="@string/month" /> 

    <TextView 
     android:id="@+id/byday" 
     style="@style/T2" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_weight="0.5" 
     android:background="@color/tertiarybackground" 
     android:gravity="center" 
     android:text="@string/day" 
     android:textColor="@color/links" /> 
</LinearLayout> 

<RelativeLayout 
    android:id="@+id/header" 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_below="@+id/selector" 
    android:layout_weight="0.1" 
    android:background="@color/mainbackground" > 

    <RelativeLayout 
     android:id="@+id/previous" 
     android:layout_width="48dip" 
     android:layout_height="48dip" 
     android:layout_alignParentLeft="true" > 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:background="@drawable/arrow_left" /> 
    </RelativeLayout> 

    <TextView 
     android:id="@+id/title" 
     style="@style/H2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="5dip" 
     android:textColor="#000000" /> 

    <RelativeLayout 
     android:id="@+id/next" 
     android:layout_width="48dip" 
     android:layout_height="48dip" 
     android:layout_alignParentRight="true" > 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:background="@drawable/arrow_right" /> 
    </RelativeLayout> 
</RelativeLayout> 

<LinearLayout 
    android:id="@+id/daysoftheweek" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_below="@+id/header" 
    android:layout_weight="0.05" 
    android:orientation="horizontal" > 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" > 

     <TextView 
      style="@style/T2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/sun" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" > 

     <TextView 
      style="@style/T2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/mon" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" > 

     <TextView 
      style="@style/T2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/tue" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" > 

     <TextView 
      style="@style/T2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/wed" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" > 

     <TextView 
      style="@style/T2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/thu" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" > 

     <TextView 
      style="@style/T2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/fri" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" > 

     <TextView 
      style="@style/T2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/sat" /> 
    </LinearLayout> 
</LinearLayout> 

<GridView 
    android:id="@+id/gridview" 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_below="@+id/daysoftheweek" 
    android:layout_gravity="center_horizontal" 
    android:layout_weight="0.5" 
    android:listSelector="@android:color/transparent" 
    android:numColumns="7" 
    android:stretchMode="columnWidth" /> 

<ScrollView 
    android:id="@+id/scroll" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.25" 
    android:fadeScrollbars="false" 
    android:gravity="top" 
    android:scrollbarAlwaysDrawHorizontalTrack="true" 
    android:scrollbarAlwaysDrawVerticalTrack="true" 
    android:scrollbarFadeDuration="0" > 

    <LinearLayout 
     android:id="@+id/text" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_gravity="top" 
     android:orientation="vertical" > 
    </LinearLayout> 
</ScrollView> 

</LinearLayout> 

現在編程我行添加到的LinearLayout text

rLayout = (LinearLayout) findViewById(R.id.text); 
View row = li.inflate(R.layout.event_row, null); 
rLayout.addView(row); 

這是結果我得到。

正如你看到的,行被放置在中央,而不是在text的LinearLayout

enter image description here

感謝您的幫助的頂部!

回答

0

已解決!

的問題是在GridView上面:

我改變形式:

<GridView 
android:id="@+id/gridview" 
android:layout_width="fill_parent" 
android:layout_height="0dp" 
android:layout_below="@+id/daysoftheweek" 
android:layout_gravity="center_horizontal" 
android:layout_weight="0.5" 
android:listSelector="@android:color/transparent" 
android:numColumns="7" 
android:stretchMode="columnWidth" /> 

<GridView 
android:id="@+id/gridview" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_below="@+id/daysoftheweek" 
android:layout_gravity="center_horizontal" 
android:listSelector="@android:color/transparent" 
android:numColumns="7" 
android:stretchMode="columnWidth" /> 
1

使用LinearLayout的layout_gravity =「top」屬性。

<LinearLayout 
     android:id="@+id/text" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_gravity="top" 
     android:orientation="vertical" > 
</LinearLayout> 
+0

是的,有layout_gravity'之間'嚴重差異和'gravity' – Ridcully

+0

@ Sinu Varghese感謝Sinu,我確實喜歡你的建議,但得到了同樣的結果。沒有成功: - (((( –

+0

請發佈您的佈局xml文件的完整代碼 –

相關問題