带有 ScreenSize 项目的 ScrollView

ScrollView with Items of ScreenSize

我需要一个包含 4 个按钮的垂直 ScrollView。 每个按钮的大小应为 Phone.

像这样:

<ScrollView
    android:id="@+id/scroll_view"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:text="First Content."
        android:textSize="50sp"/>

    <Button
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:text="Second Content."
        android:textSize="50dip"/>

</LinearLayout>
</ScrollView>

我尝试了很多选项,但不知道如何管理它。

所有你要做的动态布局

在您的 xml

中保留布局
<LinearLayout
    android:id="@+id/lnr_layout_container"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</LinearLayout>

然后在您的 activity/fragment java 文件中

LinearLayout lnLayoutContainer=(LinearLayout)findViewById(R.id.lnr_layout_container);

计算设备的高度

DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
int height = displayMetrics.heightPixels;

现在 Inflate 并将按钮添加到您的布局容器

     for(int i=0;i<4;i++)
               {

                Button btnView= new Button(context);
                <set your button properties and listener here>

                LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, height);
                layoutParams.weight = 1;
                btnView.setLayoutParams(layoutParams);

                lnLayoutContainer.addView(txtViewChar);
                }