【问题标题】:Scroll bar for TableLayoutTableLayout 的滚动条
【发布时间】:2016-10-07 09:13:12
【问题描述】:

我试图为表格布局放置滚动条(垂直和水平)。

这是我的 xml:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="40"
    android:fillViewport="true">

    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true">

        <TableLayout
            android:id="@+id/prize_table"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:padding="10dp"
            android:shrinkColumns="*"
            android:stretchColumns="*" />
    </HorizontalScrollView>
</ScrollView>

这是我添加表格行的方式:

// header
row = new TableRow(MainActivity.this);
row.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

tv = new TextView(MainActivity.this);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tv.setTextSize(18);
tv.setPadding(0, 5, 0, 5);
tv.setText(R.string.prize_no);
row.addView(tv);

tv = new TextView(MainActivity.this);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tv.setTextSize(18);
tv.setPadding(0, 5, 0, 5);
tv.setText(R.string.prize_name);
row.addView(tv);

layout.addView(row);

for (Prize prize : prizes) {
    row = new TableRow(MainActivity.this);
    row.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

    tv = new TextView(MainActivity.this);
    tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    tv.setTextSize(18);
    tv.setPadding(0, 5, 0, 5);
    tv.setText(prize.getPrizeID());
    row.addView(tv);

    tv = new TextView(MainActivity.this);
    tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    tv.setTextSize(18);
    tv.setPadding(0, 5, 0, 5);
    tv.setText(prize.getPrizeName());
    row.addView(tv);

    layout.addView(row);
}

但是我对这些代码有些问题

  1. 垂直滚动条无法匹配我的内容,假设我有 10 行,但滚动条会长 10 倍
  2. 缺少水平滚动条

谁能指出我的代码有什么问题?提前致谢

【问题讨论】:

    标签: android android-tablelayout


    【解决方案1】:

    经过多次测试,我发现问题出在

    android:shrinkColumns="*"
    

    删除后,两个问题都已修复
    希望这可以帮助其他有同样问题的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 2013-08-17
      • 1970-01-01
      相关资源
      最近更新 更多