JAVA中的Android-Flow布局

时间:2013-04-04 08:59:13

标签: android flowlayout

我在JAVA文件中以水平方向给出3个文本视图中的3个句子,但只有2个文本视图只有2个句子是comin但是由于移动设备的分辨率,第三个句子消失了。我的查询是如何从第二行的起始位置获取第三个文本视图,而不是在最后一行。

public class MainActivity extends Activity {

private LinearLayout layout;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    findViewById();
    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    layoutParams.setMargins(10, 15, 10, 10);

    TextView tvTextsecond = new TextView(this);
    tvTextsecond.setText("Heywhatrudoingtoday");
    tvTextsecond.setLayoutParams(layoutParams);
    tvTextsecond.setBackgroundColor(Color.RED);
    tvTextsecond.setTextColor(Color.WHITE);
    //tvTextsecond.setSingleLine(true);
    layout.addView(tvTextsecond);

    TextView tvTextthird = new TextView(this);
    tvTextthird.setText("Haiitssundaytowork");
    tvTextthird.setLayoutParams(layoutParams);
    tvTextthird.setBackgroundColor(Color.BLUE);
    tvTextthird.setTextColor(Color.WHITE);
    //tvTextthird.setSingleLine(true);
    layout.addView(tvTextthird);

    TextView tvTextfourth = new TextView(this);
    tvTextfourth.setText("Owebullshitruuselessfellow");
    tvTextfourth.setLayoutParams(layoutParams);
    tvTextfourth.setBackgroundColor(Color.YELLOW);
    tvTextfourth.setTextColor(Color.WHITE);
    //tvTextfourth.setSingleLine(true);
    layout.addView(tvTextfourth);

}

private void findViewById() {
    layout = (LinearLayout) findViewById(R.id.flowLayout);

}

}

1 个答案:

答案 0 :(得分:0)

您没有看到第三个TextView的原因是您的布局具有水平方向,而前两个TextView适合屏幕尺寸,第三个被推到外面。

要解决此问题,您可以执行以下几个步骤:

1。在XML或java文件中将布局方向更改为垂直方向,TextView将一个接一个地垂直显示。

2。如果您希望连续保留多个TextView,那么您仍应将主要布局方向设置为垂直,但对于{{1}的每一行使用代码创建一个水平方向的新布局,并将TextView添加到此布局。

TextView

最后将此布局添加到主布局:

LinearLayout tvRow = new LinearLayout();
tvRow.addView(firstTextView);
tvRow.addView(secondTextView);