1

首先,我感谢大家的帮助。

所以我的问题通常很简单,但我找不到错误。

我想要这个表格:

图 1

由于这个界面是为平板电脑设计的,所以我想要 7.0 英寸和 10.1 英寸表中的相同界面,除了中间的主布局之外,布局的大小相同,会有四个布局的大小

但是使用我当前的代码,我收到了以下表格:

图 2

这是我当前的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
      android:layout_gravity="fill_vertical|fill_horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<GridLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
          android:layout_gravity="fill_vertical|fill_horizontal"
    android:columnCount="4"
    android:rowCount="4" >
      <LinearLayout
          android:layout_width="242dp"
          android:layout_height="wrap_content"
          android:layout_column="0"
          android:layout_gravity="fill_vertical|fill_horizontal"
          android:layout_row="0"
          android:background="@drawable/aze"
          android:padding="2dp" >
    </LinearLayout>
    <GridLayout
        android:layout_columnSpan="2"
     android:layout_width="wrap_content"
          android:layout_height="wrap_content"
             android:layout_column="1"
            android:layout_gravity="fill_vertical|fill_horizontal"
          android:layout_row="0"
        android:columnCount="3"
        android:rowCount="2" >
        <Button
            android:id="@+id/button2"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="181dp"
            android:layout_height="71dp"
            android:layout_column="0"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="0"
            android:text="Button" />
        <Button
            android:id="@+id/button13"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="170dp"
            android:layout_height="wrap_content"
            android:layout_column="1"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="0"
            android:text="Button" />
        <Button
            android:id="@+id/button14"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="2"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="0"
            android:text="Button" />
        <Button
            android:id="@+id/button15"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="1"
            android:text="Button" />
        <Button
            android:id="@+id/button16"
            style="?android:attr/buttonStyleSmall"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
                android:layout_column="1"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="1"
            android:text="Button" />
        <Button
            android:id="@+id/button17"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
             android:layout_column="2"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="1"
            android:text="Button" />
    </GridLayout>
      <LinearLayout
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_column="3"
          android:layout_gravity="fill_vertical|fill_horizontal"
          android:layout_row="0"
          android:background="@drawable/c"
          android:orientation="vertical"
          android:padding="2dp"
          android:paddingBottom="2dp"
          android:paddingLeft="2dp"
          android:paddingRight="2dp"
          android:paddingTop="2dp" >
    </LinearLayout>
       <CalendarView
           android:id="@+id/calendarView1"
           android:layout_width="wrap_content"
           android:layout_height="141dp"
           android:layout_column="0"
           android:layout_gravity="fill_vertical|fill_horizontal"
           android:layout_margin="2dp"
           android:layout_marginBottom="2dp"
           android:layout_marginLeft="2dp"
           android:layout_marginRight="2dp"
           android:layout_marginTop="2dp"
           android:layout_row="1"
           android:orientation="vertical"
           android:padding="2dp"
           android:paddingBottom="2dp"
           android:paddingLeft="2dp"
           android:paddingRight="2dp"
           android:paddingTop="2dp" />
   <LinearLayout
       android:layout_width="550dp"
       android:layout_height="265dp"
       android:layout_column="1"
       android:layout_columnSpan="2"
       android:layout_gravity="fill_vertical|fill_horizontal"
       android:layout_margin="2dp"
       android:layout_marginBottom="2dp"
       android:layout_marginLeft="2dp"
       android:layout_marginRight="2dp"
       android:layout_marginTop="2dp"
       android:layout_row="1"
       android:layout_rowSpan="2"
       android:background="@drawable/pp"
       android:orientation="vertical"
       android:padding="2dp"
       android:paddingBottom="2dp"
       android:paddingLeft="2dp"
       android:paddingRight="2dp"
       android:paddingTop="2dp" >
    </LinearLayout>
      <LinearLayout
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_column="3"
            android:layout_gravity="fill_vertical|fill_horizontal"
          android:layout_margin="2dp"
          android:layout_marginBottom="2dp"
          android:layout_marginLeft="2dp"
          android:layout_marginRight="2dp"
          android:layout_marginTop="2dp"
          android:layout_row="1"
          android:background="@drawable/titre"
          android:orientation="vertical"
          android:padding="2dp"
          android:paddingBottom="2dp"
          android:paddingLeft="2dp"
          android:paddingRight="2dp"
          android:paddingTop="2dp" >
    </LinearLayout>
      <LinearLayout
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_column="0"
          android:layout_gravity="fill_vertical|fill_horizontal"
          android:layout_margin="2dp"
          android:layout_marginBottom="2dp"
          android:layout_marginLeft="2dp"
          android:layout_marginRight="2dp"
          android:layout_marginTop="2dp"
          android:layout_row="2"
          android:background="@drawable/a"
          android:orientation="vertical"
          android:padding="2dp"
          android:paddingBottom="2dp"
          android:paddingLeft="2dp"
          android:paddingRight="2dp"
          android:paddingTop="2dp" >
    </LinearLayout>
      <LinearLayout
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_column="3"
            android:layout_gravity="fill_vertical|fill_horizontal"
          android:layout_margin="2dp"
          android:layout_marginBottom="2dp"
          android:layout_marginLeft="2dp"
          android:layout_marginRight="2dp"
          android:layout_marginTop="2dp"
          android:layout_row="2"
          android:background="@drawable/titre"
          android:orientation="vertical"
          android:padding="2dp"
          android:paddingBottom="2dp"
          android:paddingLeft="2dp"
          android:paddingRight="2dp"
          android:paddingTop="2dp" >
    </LinearLayout>
 <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_column="0"
  android:layout_gravity="fill_vertical|fill_horizontal"
  android:layout_margin="2dp"
  android:layout_marginBottom="2dp"
  android:layout_marginLeft="2dp"
  android:layout_marginRight="2dp"
  android:layout_marginTop="2dp"
  android:layout_row="3"
  android:background="@drawable/b"
  android:orientation="vertical"
  android:padding="2dp"
  android:paddingBottom="2dp"
  android:paddingLeft="2dp"
  android:paddingRight="2dp"
  android:paddingTop="2dp" >
    </LinearLayout>
 <LinearLayout
     android:layout_width="276dp"
     android:layout_height="wrap_content"
     android:layout_column="1"
     android:layout_gravity="fill_vertical|fill_horizontal"
     android:layout_margin="2dp"
     android:layout_marginBottom="2dp"
     android:layout_marginLeft="2dp"
     android:layout_marginRight="2dp"
     android:layout_marginTop="2dp"
     android:layout_row="3"
     android:background="@drawable/titre"
     android:orientation="vertical"
     android:padding="2dp"
     android:paddingBottom="2dp"
     android:paddingLeft="2dp"
     android:paddingRight="2dp"
     android:paddingTop="2dp" >
    </LinearLayout>
<LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_column="2"
    android:layout_gravity="fill_vertical|fill_horizontal"
  android:layout_margin="2dp"
  android:layout_marginBottom="2dp"
  android:layout_marginLeft="2dp"
  android:layout_marginRight="2dp"
  android:layout_marginTop="2dp"
  android:layout_row="3"
  android:background="@drawable/titre"
  android:orientation="vertical"
  android:padding="2dp"
  android:paddingBottom="2dp"
  android:paddingLeft="2dp"
  android:paddingRight="2dp"
  android:paddingTop="2dp" >
   </LinearLayout>
    <LinearLayout
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_column="3"
              android:layout_gravity="fill_vertical|fill_horizontal"
         android:layout_margin="2dp"
         android:layout_marginBottom="2dp"
         android:layout_marginLeft="2dp"
         android:layout_marginRight="2dp"
         android:layout_marginTop="2dp"
         android:layout_row="3"
         android:background="@drawable/titre"
         android:orientation="vertical"
         android:padding="2dp"
         android:paddingBottom="2dp"
         android:paddingLeft="2dp"
         android:paddingRight="2dp"
         android:paddingTop="2dp" >
    </LinearLayout>
</GridLayout>
</LinearLayout>

我使用网格布局

4

1 回答 1

2

您应该使用 LinearLayout 并使用android:weightSum属性,而不是使用 GridLayout。这将允许您构建您的布局,使其可以扩展到任何设备。

你可以有类似的东西

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_gravity="fill_vertical|fill_horizontal"
    android:layout_weight=".7"
    android:padding="2dp" >
</LinearLayout>

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1.6"
    android:orientation="vertical"
    android:weightSum="3" >

    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_column="1"
        android:layout_columnSpan="2"
        android:layout_gravity="fill_vertical|fill_horizontal"
        android:layout_row="0"
        android:layout_weight="1.1"
        android:columnCount="3"
        android:rowCount="2" >

        <Button
            android:id="@+id/button2"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="181dp"
            android:layout_height="71dp"
            android:layout_column="0"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="0"
            android:text="Button" />

        <Button
            android:id="@+id/button13"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="170dp"
            android:layout_height="wrap_content"
            android:layout_column="1"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="0"
            android:text="Button" />

        <Button
            android:id="@+id/button14"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="2"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="0"
            android:text="Button" />

        <Button
            android:id="@+id/button15"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="1"
            android:text="Button" />

        <Button
            android:id="@+id/button16"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="1"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="1"
            android:text="Button" />

        <Button
            android:id="@+id/button17"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="2"
            android:layout_gravity="fill_vertical|fill_horizontal"
            android:layout_row="1"
            android:text="Button" />
    </GridLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight=".8"
        android:background="@android:color/holo_orange_light"
        android:orientation="vertical" >
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1.1"
        android:orientation="horizontal"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:color/holo_blue_bright" >
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:color/holo_green_light" >
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_gravity="fill_vertical|fill_horizontal"
    android:layout_weight=".7" >
</LinearLayout>

使用下面的布局,你有三列,然后你可以开始把东西放在那些线性布局中做同样的事情,为这些布局分配一个 weightSum 并为内部布局分配一个权重。

如果您需要更深入的示例,我可以在上面的示例中添加更多内容。

于 2013-09-16T14:10:18.957 回答