【问题标题】:Android - adding Rowview to TableLayout not workingAndroid - 将 Rowview 添加到 TableLayout 不起作用
【发布时间】:2016-01-31 03:31:30
【问题描述】:

我写了一个函数,在我的TableLayout 中注入一行。 我的TableLayout 定义如下:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/mytable"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

</TableLayout>

这里是函数:

public void injectRow(String text, String result){
        TableRow tableRow = new TableRow(this);
        tableRow.setBackgroundColor(0xFF0000);
        TableRow.LayoutParams tableParams = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT);
        tableRow.setLayoutParams(tableParams);

        Resources r = getResources();
        float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, r.getDisplayMetrics());

        TextView t1 = new TextView(this);
        TableRow.LayoutParams t1params = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, Math.round(px), 0.65f);
        t1.setText(text);
        t1.setTextSize(20);
        t1.setTextColor(0xFFF910);
        t1.setGravity(Gravity.CENTER_VERTICAL);
        t1.setLayoutParams(t1params);

        tableRow.addView(t1);

        TextView t2 = new TextView(this);
        TableRow.LayoutParams t2params = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, Math.round(px), 0.35f);
        t2.setText(result);
        t2.setTextSize(20);
        t2.setTextColor(0xFFF910);
        t2.setGravity(Gravity.CENTER);
        t2.setLayoutParams(t2params);

        tableRow.addView(t2);

        table.addView(tableRow, new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
    }

我尝试了不同的布局参数以及向行添加方向和背景颜色(红色)以查看文本视图是否只是不可见,但不。我也给 textviews 一个固定的高度,但是没有用..

所以出了什么问题?很多关于 SO 说要在 table.addview 中传递 TableLayout 参数,但这对我也不起作用......

【问题讨论】:

  • 代码对我来说看起来很正确,如果您添加具有预设布局的行,或者您在 addView 中传递 -same-layoutparams 应该没有区别。我经常使用 TableLayout 没有问题......你到底有什么问题?你的文本视图没有显示? BTW--> 你使用的 setColor 是完全透明的,你试过 0xfffff910 和 0xffff0000 吗?
  • 耶,回复!哦,是的,会尝试的。让我试一试。问题是表格布局仍然是空的,什么都看不见!
  • 我不敢相信...我显示的一切都是透明的-.-请回答以便我可以接受...愚蠢的错误
  • 哈哈别担心,一直在发生:D

标签: android android-tablelayout


【解决方案1】:

您在任何地方都使用透明颜色, setColor 和 setBackground 都需要 ARGB 值,因此颜色将是: 0xFFFFF910 和 0xFFFF0000

【讨论】:

    猜你喜欢
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多