我正在开发一些秒表应用程序,与默认应用程序非常相似,我这样做只是为了确保我具备基本知识。我的问题:按下 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);
}