【问题标题】:Tabelrow in Tablelayout always shows as 'wrap_content'Tablelayout 中的 Tabelrow 始终显示为“wrap_content”
【发布时间】:2013-09-06 18:28:25
【问题描述】:

我在 xml 中有空的 Tablelayout 并以编程方式添加 tablerow。

行宽总是表现'wrap_content' 我错过了什么。

layout.xml 中的表格布局

<HorizontalScrollView
        android:id="@+id/horizontalScrollView1"
        android:layout_width="fill_parent"
        android:layout_height="match_parent" >
<TableLayout
        android:id="@+id/tableLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#ff0000">
            </TableLayout>
 </HorizontalScrollView>

Java 代码:

TableLayout mRestable= (TableLayout) findViewById(R.id.tableLayout1);
TableRow row = new TableRow(this);

TextView name_tw = new TextView(this);
name_tw.setTextSize((float) 16.8);
name_tw.setText(aName);
name_tw.setGravity(Gravity.LEFT);
name_tw.setPadding(10, 10, 10, 10);

if(aValue==null)
{
    name_tw.setBackgroundColor(0xffa09f9f);
    name_tw.setTextSize((float) 17.8);
    name_tw.setGravity( Gravity.CENTER);
    name_tw.setTypeface(Typeface.DEFAULT_BOLD);

}

row.addView(name_tw);        


mRestable.addView(row,new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT,
                        TableLayout.LayoutParams.WRAP_CONTENT)); 

如何将行设置为'fill_parent'

【问题讨论】:

    标签: android tablerow android-tablelayout


    【解决方案1】:

    您有一个HorizontalScrollView。你认为,match_parent 宽度的孩子会有多宽?滚动视图中的match_parent 被忽略是有原因的。

    如果您希望表格在不需要滚动的情况下水平填满屏幕,请在HorizontalScrollView 上设置android:fillViewPort="true"

    【讨论】:

    • 感谢您的回答,请添加以下代码以将答案标记为问题的完整解决方案。除此之外,应该在此处添加 textveiw layout_weight=1 是代码 'TableRow.LayoutParams _params = new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1f); name_tw.setLayoutParams(_params); name_tw.setTextSize((float) 17.8);'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多