Android GridLayout在活动和片段中显示不同

Android GridLayout在活动和片段中显示不同,android,android-layout,android-fragments,android-gridlayout,Android,Android Layout,Android Fragments,Android Gridlayout,我创建了一个带有GridLayout的活动,在屏幕上显示4个按钮——它们水平和垂直显示在屏幕的中心 现在,我已将活动更改为一个片段,该片段使用在上找到的指南显示选项卡内部 但是选项卡显示的所有内容都与屏幕左上角对齐。 **我希望屏幕上有4个按钮同时显示水平和垂直**/p> 这是我的片段布局文件 <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="

我创建了一个带有GridLayout的活动,在屏幕上显示4个按钮——它们水平和垂直显示在屏幕的中心

现在,我已将活动更改为一个片段,该片段使用在上找到的指南显示选项卡内部

但是选项卡显示的所有内容都与屏幕左上角对齐。

**我希望屏幕上有4个按钮同时显示水平和垂直**/p>



这是我的片段布局文件

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:columnCount="2"
    android:orientation="horizontal" >

 <Button 
            android:id="@+id/Btn_Show"
            android:text="Btn Show"
            android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_column="0"
        android:drawableTop="@drawable/ic_launcher" />
    <Button 
            android:id="@+id/Btn_2"
            android:text="Btn 2"
            android:layout_width="100dp"
        android:layout_height="100dp"
        android:drawableTop="@drawable/ic_launcher" />
    <Button 
            android:id="@+id/Btn_3"
            android:text="Btn 3"
            android:layout_width="100dp"
            android:layout_height="100dp"
        android:drawableTop ="@drawable/ic_launcher" />
    <Button 
            android:id="@+id/Btn_4"
            android:text="Btn 4"
            android:layout_width="100dp"
        android:layout_height="100dp"
        android:drawableTop="@drawable/ic_launcher" />

</GridLayout>

这是活动的主要布局,其中包括作为选项卡的片段

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</android.support.v4.view.ViewPager>

我认为您需要将
网格布局
替换为
表格行

例如,根据您的要求选择此布局

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:orientation="vertical" >

          <TableRow
              android:paddingTop="10dip"
              android:paddingLeft="10dip"
              android:paddingRight="10dip"
              android:paddingBottom="3dip"
              android:layout_width="match_parent"
              android:layout_height="wrap_content">
          <Button
            android:id="@+id/button1"
            android:layout_weight=".2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 1" />
          <Button
            android:id="@+id/button2"
            android:layout_weight=".2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 2" />
         </TableRow>
          <TableRow
              android:paddingTop="10dip"
              android:paddingLeft="10dip"
              android:paddingRight="10dip"
              android:paddingBottom="3dip"
              android:layout_width="match_parent"
              android:layout_height="wrap_content">
          <Button
            android:id="@+id/button3"
            android:layout_weight=".2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 3" />
          <Button
            android:id="@+id/button4"
            android:layout_weight=".2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 4" />
        </TableRow>

</LinearLayout>
</FrameLayout>

结果


您好,我希望按钮的两侧也有一个间隙(因此它们也水平居中。我尝试删除使按钮看起来更小的权重值,但不会水平居中。我如何才能做到这一点?您好,亲爱的,请在您的请求中发布另一个线程,以便我们可以更好地帮助您:)请看我的新帖子谢谢
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:orientation="vertical" >

          <TableRow
              android:paddingTop="10dip"
              android:paddingLeft="10dip"
              android:paddingRight="10dip"
              android:paddingBottom="3dip"
              android:layout_width="match_parent"
              android:layout_height="wrap_content">
          <Button
            android:id="@+id/button1"
            android:layout_weight=".2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 1" />
          <Button
            android:id="@+id/button2"
            android:layout_weight=".2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 2" />
         </TableRow>
          <TableRow
              android:paddingTop="10dip"
              android:paddingLeft="10dip"
              android:paddingRight="10dip"
              android:paddingBottom="3dip"
              android:layout_width="match_parent"
              android:layout_height="wrap_content">
          <Button
            android:id="@+id/button3"
            android:layout_weight=".2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 3" />
          <Button
            android:id="@+id/button4"
            android:layout_weight=".2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 4" />
        </TableRow>

</LinearLayout>
</FrameLayout>