0

我正在开发一些秒表应用程序,与默认应用程序非常相似,我这样做只是为了确保我具备基本知识。我的问题:按下 Lap 按钮后,会创建一个新布局,并将 tvDisplay 的当前值(显示计时器的文本视图)放置在一个新的文本视图中(参见下面的代码)。它可以工作,但我想将动态添加的布局彼此分开,以使整个事情看起来更好。我试图为 nlap LinearLayout 设置填充,但它不起作用。我也没有找到 setMargins() 方法。我该怎么做才能在动态添加的线性布局之间添加一些 dp 的可用空间?

XML:

<ScrollView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/LapHost"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginBottom="25dp"
            android:layout_marginTop="20dp" >

             <LinearLayout
        android:id="@+id/lap"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

                 </LinearLayout>
        </ScrollView>

爪哇:

    public void LapClick(View view) {

    LinearLayout lap = (LinearLayout) findViewById(R.id.lap);
    TextView disp = (TextView) findViewById(R.id.tvDisplay);
    TextView ms = (TextView) findViewById(R.id.timerMs);

    ScrollView.LayoutParams layoutParams = new ScrollView.LayoutParams(
            ScrollView.LayoutParams.MATCH_PARENT,
            ScrollView.LayoutParams.WRAP_CONTENT);

    LinearLayout nlap = new LinearLayout(this);
    nlap.setOrientation(LinearLayout.VERTICAL);
    nlap.setLayoutParams(layoutParams);
    nlap.setBackgroundColor(Color.parseColor("#C7C7C7"));

    TextView value = new TextView(this);
    value.setText(disp.getText().toString() + ms.getText().toString());
    value.setTextColor(Color.parseColor("#A60101"));
                value.setGravity(Gravity.CENTER);

    nlap.addView(value);
    lap.addView(nlap);

}
4

2 回答 2

1
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(0, 10, 0, 0); // 10 px from top
于 2012-09-03T14:04:07.980 回答
0

您可以通过以下方式设置边距LayoutParams

layoutParams.topMargin = 25;
于 2012-09-03T14:02:01.133 回答