1

画面の下にある X 座標と Y 座標を使用して Android の画面に要素を追加しようとしていますが、画面が読み込まれるとスクロールしません。

レイアウトの私のコード

<ScrollView  
xmlns:android="http://schemas.android.com/apk/res/android"  
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:scrollbars="vertical"
android:id="@+id/ScrollView"
android:background="#16A901"
>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/inner"
    android:background="#b200C4"
    >

</RelativeLayout>
</ScrollView>

私のJavaコード

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_xycords);

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int maxX = size.x; 
    int maxY = size.y;
    System.out.println("bar maxX "+maxX+" maxY "+maxY);

    ScrollView sv= (ScrollView)findViewById(R.id.ScrollView);

    RelativeLayout inner = (RelativeLayout)findViewById(R.id.inner);

    Button button = new Button(this);
    button.setBackgroundResource(R.drawable.black_rect_border_yellow);
    button.setText("Test 1 2 3");
    button.setX(10);
    button.setY(661);//652 is the maxY in my set up so this will obscure part of it

    LayoutParams wrap= new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
    wrap.setMargins(0, 0, 0, 0);
    //wrap.addRule(RelativeLayout.ALIGN_LEFT,R.id.vLine);
    //wrap.addRule(RelativeLayout.ALIGN_TOP,R.id.hLine);
    inner.addView(button, wrap);
}

一部が画面外にあるボタンが表示されますが、スクロールして残りを表示することはできません。

私が間違っていることは何か分かりますか?

4

1 に答える 1