Android Scrollview赢得';我不能展示一切
我将视图添加到Scrollview(LinearLayout)中,但它不会显示所有内容。例如,如果我添加10个视图(TextView和EditView),它将显示4个,如果我添加更多视图,如200个,它将达到131个,但我可以看到下一个视图的开头 这是XML:Android Scrollview赢得';我不能展示一切,android,scrollview,programmatically-created,Android,Scrollview,Programmatically Created,我将视图添加到Scrollview(LinearLayout)中,但它不会显示所有内容。例如,如果我添加10个视图(TextView和EditView),它将显示4个,如果我添加更多视图,如200个,它将达到131个,但我可以看到下一个视图的开头 这是XML: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://sche
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
tools:context=".FirstActivity"
tools:layout_editor_absoluteY="25dp">
<TextView
android:id="@+id/textView"
android:layout_width="95dp"
android:layout_height="36dp"
android:layout_marginEnd="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="TextView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ScrollView
android:id="@+id/scrollView3"
android:layout_width="362dp"
android:layout_height="0dp"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
app:layout_constraintBottom_toTopOf="@+id/button4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.47"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
android:paddingBottom="10dp">
<LinearLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</ScrollView>
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginStart="16dp"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>
这就是java:
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
LinearLayout layout = findViewById(R.id.layout);
int i = 1;
int a = 1;
int noc = 500;
int heightTV = 100;
int heightET = 10;
int widthTV = 100;
int widthET = 200;
do{
TextView textView = new TextView(this);
textView.setId(i);
String number = Integer.toString(a)+".-";
textView.setY(heightTV);
textView.setX(widthTV);
textView.setText(number);
layout.addView(textView);
EditText editText = new EditText(this);
editText.setId(i);
editText.setHint("Example: 567-ZTY");
editText.setY(heightET);
editText.setX(widthET);
editText.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
layout.addView(editText);
i++;
a++;
heightTV = heightTV + 100;
heightET = heightET + 100;
} while (i<=noc);
}
public class FirstActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_优先);
LinearLayout布局=findViewById(R.id.layout);
int i=1;
INTA=1;
int noc=500;
内部高度tv=100;
int高度t=10;
int-widthTV=100;
int-widthET=200;
做{
TextView TextView=新的TextView(此);
setId(i);
字符串编号=整数;
textView.setY(高度电视);
textView.setX(宽度电视);
textView.setText(数字);
layout.addView(textView);
EditText EditText=新的EditText(本);
editText.setId(i);
setHint(“示例:567-ZTY”);
editText.setY(heightET);
editText.setX(宽度集);
editText.setLayoutParams(新的LayoutParams(LayoutParams.WRAP_内容,LayoutParams.WRAP_内容));
layout.addView(editText);
i++;
a++;
heightTV=heightTV+100;
高度=高度+100;
}而(i将此属性添加到滚动视图中:
android:fillViewport="true"
你的身高也是“0dp”。我知道您为什么要这样做,但一定要检查它所约束的视图,并确保有足够的空间来显示您试图显示的内容。所以我不知道为什么,但似乎如果我在循环之外添加了一些内容,一旦完成工作,scrollview通常停止,就会显示缺少的内容。
新守则是:
for (int i = 1; i<=noc; ++i){
TextView textView = new TextView(this);
textView.setId(i);
String number = Integer.toString(a)+".-";
textView.setY(heightTV);
textView.setX(widthTV);
textView.setText(number);
layout.addView(textView);
EditText editText = new EditText(this);
editText.setId(i);
editText.setHint("Example: 567-ZTY");
editText.setY(heightET);
editText.setX(widthET);
editText.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
layout.addView(editText);
a++;
heightTV = heightTV + 100;
heightET = heightET + 100;
Button button = findViewById(R.id.button4);
button.setText(Integer.toString(i));
}
heightTV = heightTV + 100;
TextView textV = new TextView(this);
textV.setHeight(heightTV);
textV.setText("");
layout.addView(textV);
for(int i=1;iI)添加了属性,但它根本不影响:/