为什么我的设备没有显示表格?

时间:2016-12-22 05:30:22

标签: android android-tablelayout

我是Android新手 我正在尝试显示一个可滚动的表格 Android Studio上的XML可视化工具显示它很好,但我的设备没有显示它 在我的设备中,我只能看到第一个TextView(routine_heading) 我该怎么做才能克服这个问题?

以下是我使用的XML代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
        android:id="@+id/routine_heading"
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/routine_header"
        android:textAppearance="?android:textAppearanceLarge"/>
    <ScrollView
        android:id="@+id/layout"
        android:layout_height="wrap_content"
        android:scrollbars="horizontal|vertical"
        android:layout_width="match_parent"
        android:layout_marginTop="8dip"
        android:scrollbarStyle="outsideOverlay"
        android:fillViewport="false">
        <HorizontalScrollView
            android:id="@+id/horizontalView"
            android:layout_height="wrap_content"
            android:scrollbars="horizontal|vertical"
            android:layout_width="wrap_content"
            android:layout_marginTop="5dip">
            <TableLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/tlGridTable"
                android:stretchColumns="*">
                <TableRow
                    android:layout_weight="1">
                    <TextView
                        android:background="@drawable/cell"
                        android:text=""
                        android:layout_height="match_parent"
                        android:layout_width="0dp"
                        android:layout_weight="1"/>
                    <TextView
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:background="@drawable/cell"
                        android:text="10-10:50"
                        android:padding="3dip"
                        android:layout_height="match_parent"
                        />
                    <TextView
                        android:text="10:50-11:40"
                        android:background="@drawable/cell"
                        android:padding="3dip"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        />
                    <TextView
                        android:background="@drawable/cell"
                        android:text="11:40-12:30"
                        android:padding="3dip"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:layout_height="match_parent"
                        />
                    <TextView
                        android:background="@drawable/cell"
                        android:text="12:30-1:20"
                        android:padding="3dip"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:layout_height="match_parent"
                        />
                    <TextView
                        android:background="@drawable/cell"
                        android:text="2:35-3:20"
                        android:padding="3dip"
                        android:layout_height="match_parent"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        />
                    <TextView
                        android:background="@drawable/cell"
                        android:text="3:20-4:00"
                        android:padding="3dip"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:layout_height="match_parent"
                        />
                    <TextView
                        android:background="@drawable/cell"
                        android:text="4:00-4:50"
                        android:padding="3dip"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        />
                </TableRow>
             </TableLayout>
        </HorizontalScrollView>
    </ScrollView>
</LinearLayout>

3 个答案:

答案 0 :(得分:1)

问题是您要将列大小设置为拉伸到其父级!其父级是Horizo​​ntalScrollView,它具有无限宽度!因此,它无法确定其重量。

所以,你需要把你的表放在ScrollView(垂直)中,然后在Table里面有Horizo​​ntalScrollView。此外,您需要在更改后添加height m width属性。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
        android:id="@+id/routine_heading"
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/routine_header"
        android:textAppearance="?android:textAppearanceLarge"/>
    <ScrollView
        android:id="@+id/layout"
        android:layout_height="wrap_content"
        android:scrollbars="horizontal|vertical"
        android:layout_width="match_parent"
        android:layout_marginTop="8dip"
        android:scrollbarStyle="outsideOverlay"
        android:fillViewport="false">
            <TableLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/tlGridTable"
                android:stretchColumns="*">
                <HorizontalScrollView
                    android:id="@+id/horizontalView"
                    android:layout_height="wrap_content"
                    android:scrollbars="horizontal|vertical"
                    android:layout_width="wrap_content"
                    android:layout_marginTop="5dip">
                <TableRow
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1">
                    <TextView
                        android:background="@drawable/cell"
                        android:text=""
                        android:layout_height="match_parent"
                        android:layout_width="0dp"
                        android:layout_weight="1"/>
                    <TextView
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:background="@drawable/cell"
                        android:text="10-10:50"
                        android:padding="3dip"
                        android:layout_height="match_parent"
                        />
                    <TextView
                        android:text="10:50-11:40"
                        android:background="@drawable/cell"
                        android:padding="3dip"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        />
                    <TextView
                        android:background="@drawable/cell"
                        android:text="11:40-12:30"
                        android:padding="3dip"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:layout_height="match_parent"
                        />
                    <TextView
                        android:background="@drawable/cell"
                        android:text="12:30-1:20"
                        android:padding="3dip"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:layout_height="match_parent"
                        />
                    <TextView
                        android:background="@drawable/cell"
                        android:text="2:35-3:20"
                        android:padding="3dip"
                        android:layout_height="match_parent"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        />
                    <TextView
                        android:background="@drawable/cell"
                        android:text="3:20-4:00"
                        android:padding="3dip"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:layout_height="match_parent"
                        />
                    <TextView
                        android:background="@drawable/cell"
                        android:text="4:00-4:50"
                        android:padding="3dip"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        />
                </TableRow>
                </HorizontalScrollView>
            </TableLayout>
    </ScrollView>
</LinearLayout>
  

建议使用带适配器的ListView / RecyclerView   有点作品。

答案 1 :(得分:0)

如果您想要滚动表,通常使用private static async Task RunEveryMillisecond(CancellationToken token) { Stopwatch s = Stopwatch.StartNew(); TimeSpan prevValue = TimeSpan.Zero; int i = 0; while (true) { Console.WriteLine(s.ElapsedMilliseconds); await MultimediaTimer.Delay(1, token); if (Console.KeyAvailable) { return; } i++; } } + ListView

适配器的每个项目都应该创建一个&#34;行&#34; &#34;表&#34;。

使用Adapter可以帮助进行垂直和水平滚动。

答案 2 :(得分:0)

在Scrollview下面添加表格布局(进入子视图),就像这样

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >
  <TextView
      android:id="@+id/routine_heading"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:gravity="center"
      android:text="@string/app_name"
      android:textAppearance="?android:textAppearanceLarge"
      />
  <ScrollView
      android:id="@+id/layout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginTop="8dip"
      android:fillViewport="false"
      android:scrollbarStyle="outsideOverlay"
      android:scrollbars="horizontal|vertical"
      >
    <TableLayout
        android:id="@+id/tlGridTable"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:stretchColumns="*"
        >
      <HorizontalScrollView
          android:id="@+id/horizontalView"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_marginTop="5dip"
          android:scrollbars="horizontal|vertical"
          >

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            >
          <TextView
              android:layout_width="0dp"
              android:layout_height="match_parent"
              android:layout_weight="1"
              android:background="@drawable/ic_launcher"
              android:text=""
              />

          <TextView
              android:layout_width="0dp"
              android:layout_height="match_parent"
              android:layout_weight="1"
              android:background="@drawable/ic_launcher"
              android:padding="3dip"
              android:text="10-10:50"
              />
          <TextView
              android:layout_width="0dp"
              android:layout_height="match_parent"
              android:layout_weight="1"
              android:background="@drawable/ic_launcher"
              android:padding="3dip"
              android:text="10:50-11:40"
              />
          <TextView
              android:layout_width="0dp"
              android:layout_height="match_parent"
              android:layout_weight="1"
              android:background="@drawable/ic_launcher"
              android:padding="3dip"
              android:text="11:40-12:30"
              />
          <TextView
              android:layout_width="0dp"
              android:layout_height="match_parent"
              android:layout_weight="1"
              android:background="@drawable/ic_launcher"
              android:padding="3dip"
              android:text="12:30-1:20"
              />
          <TextView
              android:layout_width="0dp"
              android:layout_height="match_parent"
              android:layout_weight="1"
              android:background="@drawable/ic_launcher"
              android:padding="3dip"
              android:text="2:35-3:20"
              />
          <TextView
              android:layout_width="0dp"
              android:layout_height="match_parent"
              android:layout_weight="1"
              android:background="@drawable/ic_launcher"
              android:padding="3dip"
              android:text="3:20-4:00"
              />
          <TextView
              android:layout_width="0dp"
              android:layout_height="match_parent"
              android:layout_weight="1"
              android:background="@drawable/ic_launcher"
              android:padding="3dip"
              android:text="4:00-4:50"
              />
        </TableRow>
      </HorizontalScrollView>
    </TableLayout>
  </ScrollView>
</TableLayout>