Android 使scrollview的子项大小为1/3
我有这个: 我的问题是,我有一个带有滚动视图的Linearlayout包装器,里面有一个Linearlayout。。我希望每一项都是scrollviews高度的1/3,不管我放了多少项 当我向Linearlayout添加项目时,它是Linearlayout,如果我添加3个“项目”,它几乎可以。。但是如果我添加8个项目,它们都非常小并且可以滚动。这是我想要的,但我希望它们的高度为scrollview/linearlayout的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
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));