Android 使scrollview的子项大小为1/3

Android 使scrollview的子项大小为1/3,android,scrollview,android-linearlayout,android-layout-weight,Android,Scrollview,Android Linearlayout,Android Layout Weight,我有这个: 我的问题是,我有一个带有滚动视图的Linearlayout包装器,里面有一个Linearlayout。。我希望每一项都是scrollviews高度的1/3,不管我放了多少项 当我向Linearlayout添加项目时,它是Linearlayout,如果我添加3个“项目”,它几乎可以。。但是如果我添加8个项目,它们都非常小并且可以滚动。这是我想要的,但我希望它们的高度为scrollview/linearlayout的1/3 我希望它对齐,使其与第二个布局中的按钮一样大 我只是不能让它正

我有这个:

我的问题是,我有一个带有滚动视图的Linearlayout包装器,里面有一个Linearlayout。。我希望每一项都是scrollviews高度的1/3,不管我放了多少项

当我向Linearlayout添加项目时,它是Linearlayout,如果我添加3个“项目”,它几乎可以。。但是如果我添加8个项目,它们都非常小并且可以滚动。这是我想要的,但我希望它们的高度为scrollview/linearlayout的1/3

我希望它对齐,使其与第二个布局中的按钮一样大

我只是不能让它正确,希望它只是一个简单的解决方案,我拒绝看到

到目前为止,我的代码是:

<LinearLayout
                android:layout_width="match_parent"
                android:layout_height="0dip"
                android:orientation="vertical"
                android:layout_weight="75">
                <ScrollView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:id="@+id/scrollView2"
                    android:layout_gravity="center_horizontal"
                    android:fillViewport="true"
                    android:scrollbarSize="5dp"
                    android:fadeScrollbars="false"
                    android:layout_marginRight="5dp"
                    android:layout_marginLeft="5dp"
                    android:scrollbarThumbVertical="@drawable/custom_scroll_style">
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:id="@+id/coats"
                        android:orientation="vertical"
                        android:weightSum="75">

                 </LinearLayout>
                </ScrollView>
            </LinearLayout>

这在我的PI64和华硕平板电脑上运行得非常好,但是我的手机使高度100%与scrollview相同,这是怎么回事呢?

我这样做的,屏幕大小为*.8,因为屏幕用作弹出窗口,然后是0.25,因为项目占屏幕的1/4,最后是10作为我的边距

DisplayMetrics display = this.getResources().getDisplayMetrics();        

        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, (int)(display.heightPixels* .8 * 0.25 - pixelToDp(10)));       

        params.setMargins(pixelToDp(0),pixelToDp(5),pixelToDp(0),pixelToDp(5));
DisplayMetrics display = this.getResources().getDisplayMetrics();

        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, pixelToDp((int)(display.heightPixels* .8 * 0.25)));
DisplayMetrics display = this.getResources().getDisplayMetrics();        

        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, (int)(display.heightPixels* .8 * 0.25 - pixelToDp(10)));       

        params.setMargins(pixelToDp(0),pixelToDp(5),pixelToDp(0),pixelToDp(5));