将TableRow中的LinearLayout宽度设置为MATCH_PARENT

时间:2012-07-17 07:53:34

标签: android tablerow layout-inflater android-tablelayout

TableLayout MATCH_PARENT width TableRowLinearLayout代码MATCH_PARENT width LinearLayout TextView TableRow } TableRow。 如果我删除WRAP_CONTENT并将TableLayout直接添加到 <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="7dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="7dp" > <TableLayout android:id="@+id/tablaGremios" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/titulopantalla" android:background="@color/blanco" > </TableLayout> </RelativeLayout> ,则可以正常使用。但最后,LinearLayout的宽度为<?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="wrap_content" android:background="@drawable/bg_servicio" android:orientation="horizontal" android:weightSum="3" > <CheckBox android:id="@+id/cbGremioActivo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.01" /> <View android:layout_width="1dip" android:layout_height="fill_parent" android:layout_marginRight="6dp" android:background="#e3e3e3" /> <TextView android:id="@+id/tvGremio" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1.6" android:textSize="10sp" /> <View android:layout_width="1dip" android:layout_height="fill_parent" android:layout_marginRight="6dp" android:background="#e3e3e3" /> <TextView android:id="@+id/tvComentario" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1.4" android:textSize="10sp" /> </LinearLayout> 。我该怎么做?这是我的// Creo una fila por día en el objeto final TableRow tbRowGremio = new TableRow(contexto); tbRowGremio.setLayoutParams(new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); tbRowGremio.setId((numeroFila)); LayoutInflater inflater = (LayoutInflater) contexto.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View lineaAPintar = inflater.inflate(R.layout.filalistagremios, null); lineaAPintar.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); final CheckBox cbGremioActivo = (CheckBox) lineaAPintar.findViewById(R.id.cbGremioActivo); cbGremioActivo.setId(numeroFila); TextView tvGremio = (TextView) lineaAPintar.findViewById(R.id.tvGremio); tvGremio.setText(gremioQueQuiereAnadir); TextView tvComentario = (TextView) lineaAPintar.findViewById(R.id.tvComentario); tvComentario.setText(etComentario.getText().toString()); tbRowGremio.addView(lineaAPintar); tablaGremios.addView(tbRowGremio); xml:

{{1}}

这是{{1}}充气:

{{1}}

代码

{{1}}

1 个答案:

答案 0 :(得分:0)

尝试像这样修改LayoutParams

final TableRow tbRowGremio = new TableRow(contexto);
tbRowGremio.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
tbRowGremio.setId((numeroFila));
LayoutInflater inflater = (LayoutInflater) contexto.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View lineaAPintar = inflater.inflate(R.layout.filalistagremios, null);
lineaAPintar.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
final CheckBox cbGremioActivo = (CheckBox) lineaAPintar.findViewById(R.id.cbGremioActivo);
cbGremioActivo.setId(numeroFila);
TextView tvGremio = (TextView) lineaAPintar.findViewById(R.id.tvGremio);
tvGremio.setText(gremioQueQuiereAnadir);
TextView tvComentario = (TextView) lineaAPintar.findViewById(R.id.tvComentario);
tvComentario.setText(etComentario.getText().toString());
tbRowGremio.addView(lineaAPintar);
tablaGremios.addView(tbRowGremio);