2016-02-17 118 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