我有这样的事情:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/chooseBirthDateText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
style="@style/mediumText"
android:gravity="center_horizontal"
android:text="@string/choose_birth_date" />
</TableRow>
</TableLayout>
</ScrollView>
我想添加更多行,但仅在一段时间后(比方说10秒)。我想首先使这些行不可见,然后让它们出现。但是就这样我的scrollView不能正常工作(即使下面没有任何内容,我也可以向下滚动 - 因为行是不可见的)
所以我想在第二个文件中创建要添加的行,在中间加载它们并在tableRow1之后添加它们,以便它们必须出现。不幸的是我不知道该怎么做(我说的是连接2个文件,而不是在java中创建第二个文件):/
答案 0 :(得分:1)
隐藏视图有两种模式:
INVISIBLE
:此视图不可见,但仍会占用空间以进行布局。GONE
:此视图不可见,并且不需要任何空间进行布局。http://developer.android.com/reference/android/view/View.html#setVisibility(int)
我认为GONE
会对你有帮助。
答案 1 :(得分:0)
你应该尝试这样。我知道这有用吗?
for(int i = 0; i < _attributeList.size();i++){
TableRow newRow = new TableRow(getApplicationContext());
newRow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
newCheckBox = new CheckBox(getApplicationContext());
TextView feeTypeText = new TextView(getApplicationContext());
feeTypeText.setText(jsonObj.getString("feeType"));
feeTypeText.setTextColor(Color.BLACK);
feeTypeText.setTextSize(16f);
feeTypeText.setTypeface(tf);
TextView dueAmountText = new TextView(getApplicationContext());
dueAmountText.setText(jsonObj.getString("dueAmount"));
dueAmountText.setTextColor(Color.BLACK);
dueAmountText.setTextSize(16f);
dueAmountText.setTypeface(tf);
TextView dueDateText = new TextView(getApplicationContext());
dueDateText.setText(jsonObj.getString("dueDate"));
dueDateText.setTextColor(Color.BLACK);
dueDateText.setTextSize(16f);
dueDateText.setTypeface(tf);
newRow.addView(newCheckBox,(new LayoutParams(0,LayoutParams.WRAP_CONTENT,0.8f)));
newRow.addView(feeTypeText,(new LayoutParams(0,LayoutParams.WRAP_CONTENT,0.8f)));
newRow.addView(dueAmountText,(new LayoutParams(0,LayoutParams.WRAP_CONTENT,1.0f)));
newRow.addView(dueDateText,(new LayoutParams(0,LayoutParams.WRAP_CONTENT,1.0f)));
attributeTable.addView(NEWROW); }