我正在尝试在Claims
中显示10个绿色框,并且遇到两个问题。我已经通过IsInRoleAsync
定义了下边距,但是它不起作用。另一个问题是我正在使用LinearLayout
通过params.setMargins(0, 0, 0, 100)
插入10个绿色框,并且在插入MainActivity.java
时显示滚动条在底部。因此,当应用打开时,屏幕上会显示第10个绿色框,我希望第1个绿色框出现,因此如何关闭此自动滚动。
.addView()
ScrollView
activity_main.xml:
<?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"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
</android.support.constraint.ConstraintLayout>
答案 0 :(得分:1)
由于你定义你的意见要在“内容”添加即LinearLayout中如此创建的LayoutParams是线性的,以及这将解决这个问题。其余相同。
这是我为您所做的更改:(在您的java类中)
LinearLayout content = findViewById(R.id.content);
for (int x=0;x<10;x++) {
RelativeLayout element = new RelativeLayout(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 400);
params.setMargins(0, 0, 0, 100); // now should work
element.setLayoutParams(params);
element.setBackgroundResource(R.color.green);
content.addView(element);
}
xml文件不需要改变
另外,当我打开应用程序时,滚动视图应位于顶部。