拉伸TextView宽度和高度等于GridLayout的单元格宽度高度

时间:2015-05-01 06:35:37

标签: android textview android-gridlayout

我正在尝试在运行时将TextView添加到GridLayout。由于没有设置GridLayout的单元格背景的属性,所以我设置TextView背景看起来像单元格背景在其边框处有笔划。我的问题是,在运行时将TextView添加到Gridlayout时,TextView大小不是Stretching等于GridLayout Cell。

在我设置的xml文件中:

<GridLayout
    android:id="@+id/gridLay"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:alignmentMode="alignBounds"
    android:columnCount="5"
    android:columnOrderPreserved="false"
    android:useDefaultMargins="false" >

    <TextView
        android:layout_gravity="fill"
        android:background="@drawable/grid_lay_cell_bg"
        android:padding="5dp"
        android:text="Name"
        android:textSize="14dp" />

</GridLayout>

它工作得很好,TextView涵盖了完整的单元格大小,但是当我尝试在下面的代码中添加它时运行时间:

TextView tv3 = new TextView(getActivity());
    GridLayout.LayoutParams lp3 = new GridLayout.LayoutParams(GridLayout.spec(2, 1), GridLayout.spec(0, 1));
    lp3.setGravity(Gravity.FILL);
    tv3.setLayoutParams(lp3);
    tv3.setGravity(Gravity.FILL);
    tv3.setPadding(padd, padd, padd, padd);
    tv3.setBackgroundResource(R.drawable.grid_lay_cell_bg);
    tv3.setTextSize(16);
    tv3.setText("Test");
    gridLay.addView(tv3, lp3);

TextView未覆盖完整的单元格大小。

请给我一些提示,在Android中运行时将TextView添加到GridLayout时,如何将TextView大小拉伸为单元格大小。

enter image description here

1 个答案:

答案 0 :(得分:0)

试试这个

TextView textView = (TextView)findViewById(R.id.text_view);
ViewGroup.LayoutParams params = textView.getLayoutParams();
params.width = ViewGroup.LayoutParams.FILL_PARENT;
textView.setLayoutParams(params);