添加行与2列到Android表布局-第二列不可见



我是这样给android表添加列的:

public void addWebAction(TableLayout table){
    TableRow rowWeb = new TableRow(this);
    rowWeb.setWeightSum(1f);
    TextView tvWeb = new TextView(this);
    tvWeb.setTextSize(18);
    tvWeb.setPadding(0, 10, 0, 0);
    tvWeb.setText(contact.getWeb());
    TableRow.LayoutParams trlp = new TableRow.LayoutParams(0, TableRow.LayoutParams.WRAP_CONTENT, 0.8f);
    tvWeb.setLayoutParams(trlp);
    rowWeb.addView(tvWeb);
    ImageButton ibWeb = new ImageButton(this);
    ibWeb.setBackgroundColor(Color.TRANSPARENT);
    ibWeb.setImageResource(R.drawable.ic_action_search);
    ibWeb.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(contact.getWeb()));
            startActivity(browserIntent);
        }
    });
    trlp.weight = 0.1f;
    ibWeb.setLayoutParams(trlp);
    rowWeb.addView(ibWeb);
    ImageButton abWeb = new ImageButton(this);
    abWeb.setBackgroundColor(Color.TRANSPARENT);
    abWeb.setImageResource(R.drawable.ic_action_chat);
    abWeb.setLayoutParams(trlp);
    rowWeb.addView(abWeb);
    table.addView(rowWeb);
}

问题是:如果textview包含一个长字符串的第二列被移出屏幕。在哪种方式下,我必须添加tablelow参数来解决这个问题?

必须将weightSum赋给表布局,并将edittext的权重分为两个。您可以在这个链接中看到简单的示例:https://stackoverflow.com/a/9590974/3098590

最新更新