我需要为动态创建的textview设置参数,textview的文本来自数据库。由于某些文本可能较大,因此超出了移动窗口并继续以单行显示文本
TableLayout tbl=(TableLayout) findViewById(R.id.tbla);
TableRow row= new TableRow(this);
TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT);
row.setLayoutParams(lp);
TextView tv1 = new TextView(this);
tv1.setSingleLine(false);
tv1.setEllipsize(null);
tv1.setTextSize(getResources().getDimension(R.dimen.textsize));
tv1.setHorizontallyScrolling(false);
tv1.setText(log);
row.addView(tv1);
tbl.addView(row,i);
我已经阅读了一些文章,并为它做了一些可能的属性.. plz帮助我让它自动调整大小..
答案 0 :(得分:1)
在将TextView
添加到TableRow
之前,只需在代码中添加此行:
tv1.setLayoutParams(new TableRow.LayoutParams(0, LayoutParams.WRAP_CONTENT, 1f));
这将使您的TextView
始终显示其所有高度。
答案 1 :(得分:0)
请尝试这种方式,希望这有助于您解决问题。
TableLayout tbl=(TableLayout) findViewById(R.id.tbla);
TableRow row= new TableRow(this);
TableLayout.LayoutParams lp = new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,TableLayout.LayoutParams.WRAP_CONTENT);
row.setLayoutParams(lp);
TextView tv1 = new TextView(this);
tv1.setTextSize(getResources().getDimension(R.dimen.textsize));
tv1.setText(log);
row.addView(tv1,new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));
tbl.addView(row,i);