2016-02-17 156 views
1

在我的gridlayout我試圖添加滾動視圖,我也希望我的imagebuttons在垂直|水平方向的屏幕中心。我試過android:layout_gravity="center"android:gravity="center" 但在水平方向我的圖像按鈕出現在左側。Android:在網格佈局中滾動?

這裏是我的網格佈局:

<?xml version="1.0" encoding="utf-8"?> 
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
xmlns:tools="http://schemas.android.com/tools" 
android:columnCount="2" 
android:rowCount="3" 
android:layout_centerHorizontal="true" 
android:layout_gravity="center" 
android:layout_marginTop="50dp" 
android:layout_marginStart="55dp" 
android:layout_marginEnd="25dp" 
android:layout_marginBottom="20dp" 
tools:context=".Menu"> 

    <ImageButton 
    android:id="@+id/attendance" 
    android:layout_width="120dp" 
    android:layout_height="120dp" 
    android:background="@mipmap/attendance" 
    android:contentDescription="@string/desc0" 
    android:layout_row="0" 
    android:layout_column="0" 
    android:paddingTop="40dp" 
    android:paddingBottom="40dp" 
    android:paddingLeft="40dp" 
    android:paddingRight="40dp" /> 

<ImageButton 
    android:id="@+id/homework" 
    android:layout_width="120dp" 
    android:layout_height="120dp" 
    android:background="@mipmap/homework" 
    android:contentDescription="@string/desc1" 
    android:layout_row="0" 
    android:layout_column="1" 
    android:paddingTop="40dp" 
    android:paddingBottom="40dp" 
    android:paddingLeft="40dp" 
    android:paddingRight="40dp"/> 


<ImageButton 
    android:id="@+id/notice" 
    android:layout_width="120dp" 
    android:layout_height="120dp" 
    android:background="@mipmap/notice" 
    android:contentDescription="@string/desc2" 
    android:layout_row="1" 
    android:layout_column="0" 
    android:paddingTop="40dp" 
    android:paddingBottom="40dp" 
    android:paddingLeft="40dp" 
    android:paddingRight="40dp"/> 

<ImageButton 
    android:id="@+id/student_marks" 
    android:layout_width="120dp" 
    android:layout_height="120dp" 
    android:background="@mipmap/student_marks" 
    android:contentDescription="@string/desc3" 
    android:layout_row="1" 
    android:layout_column="1" 
    android:paddingTop="40dp" 
    android:paddingBottom="40dp" 
    android:paddingLeft="40dp" 
    android:paddingRight="40dp"/> 


<ImageButton 
    android:id="@+id/myclass" 
    android:layout_width="120dp" 
    android:layout_height="120dp" 
    android:background="@mipmap/myclass" 
    android:contentDescription="@string/desc5" 
    android:layout_row="2" 
    android:layout_column="0" 
    android:paddingTop="40dp" 
    android:paddingBottom="40dp" 
    android:paddingLeft="40dp" 
    android:paddingRight="40dp" /> 

<ImageButton 
    android:id="@+id/logout" 
    android:layout_width="120dp" 
    android:layout_height="120dp" 
    android:background="@mipmap/logout" 
    android:contentDescription="@string/desc4" 
    android:layout_row="2" 
    android:layout_column="1" 
    android:paddingTop="40dp" 
    android:paddingBottom="40dp" 
    android:paddingLeft="40dp" 
    android:paddingRight="40dp" /> 

</GridLayout> 
在我的「五個一」和「六個一」 imagebuttons沒有顯示怎麼一回事,因爲我沒有滾動視圖和imagebuttons在這個方向左對齊,我想

水平視圖他們在中心。 view in centre

我的俯視圖是在中心 horizontal view

+0

你怎麼想呢?發佈圖片,如果你可以 –

回答

1

你可以包裝在一個「滾動型」所有的佈局,允許「的RelativeLayout」的滾動和內允許中心的按鈕。

事情是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/scrollView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <GridLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:layout_gravity="center" 
      android:columnCount="2" 
      android:rowCount="3"> 

      ... (here the buttons) 

     </GridLayout> 
    </RelativeLayout> 
</ScrollView> 
+0

在scrollview中添加android:layout_gravity =「center」已經完成了兩種方向的技巧。 – Rob