我正在开发一些类似于默认应用程序的秒表应用程序,我这样做只是为了确保我拥有基本知识。我的问题:在按下Lap按钮后,会创建一个新的布局,并且tvDisplay的当前值(显示计时器的textview)将被放置在一个新的textview中(参见下面的代码)。它有效,但我想将动态添加的布局彼此分开,以使整个事物看起来更好。我试图为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>
的java:
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);
}
答案 0 :(得分: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
答案 1 :(得分:0)
您可以按LayoutParams
:
layoutParams.topMargin = 25;