Horizo​​ntalScrollView无法与android:weightSum一起使用?

时间:2016-04-26 06:10:18

标签: android horizontalscrollview

我的布局如下,如果我删除android:weightSum="3"然后一切正常,但如果我将android:weightSum="3"放在LinearLayout中(因此每个TextView的屏幕宽度为1/3),则Horizo​​ntalScrollView似乎无法滚动,有谁知道为什么? THX

<HorizontalScrollView
            android:id="@+id/bottom_bar_id"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:fillViewport="true"
            android:scrollbars="none">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:orientation="horizontal"
                android:weightSum="3">

                <TextView
                    android:id="@+id/oneMonth"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:layout_marginLeft="15dp"
                    android:layout_marginRight="15dp"
                    android:textColor="@color/text_title"
                    android:text="one"/>


                <TextView
                    android:id="@+id/threeMonth"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:layout_marginLeft="15dp"
                    android:layout_marginRight="15dp"
                    android:textColor="@color/text_title"
                    android:text="two"/>

                <TextView
                    android:id="@+id/halfYear"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:layout_marginLeft="15dp"
                    android:layout_marginRight="15dp"
                    android:textColor="@color/text_title"
                    android:text="three"/>

                <TextView
                    android:id="@+id/oneYear"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:layout_marginLeft="15dp"
                    android:layout_marginRight="15dp"
                    android:textColor="@color/text_title"
                    android:text="four"/>


                <TextView
                    android:id="@+id/thisYear"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:layout_marginLeft="15dp"
                    android:layout_marginRight="15dp"
                    android:textColor="@color/text_title"
                    android:text="five"/>

                <TextView
                    android:id="@+id/beginNow"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:layout_marginLeft="15dp"
                    android:layout_marginRight="15dp"
                    android:textColor="@color/text_title"
                    android:text="six"/>
            </LinearLayout>
        </HorizontalScrollView>

2 个答案:

答案 0 :(得分:0)

我是这样做的:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(metrics.widthPixels/YourChildWeight, LinearLayout.LayoutParams.MATCH_PARENT);
parentView.addView(childView, params);

您需要提供 ChildWeight

希望这会对你有所帮助。

答案 1 :(得分:0)

王老虎,

我也在寻找解决方案。

我想使用Horizo​​ntalScrollView并且有10个相同大小的按钮,但是一次显示5个相同大小的按钮,而不对所有按钮使用wrap_content。

对于按钮,我想指定layout_weight,weightSum和layout_width =“0dp”。

如果您找到解决方案,请告诉我。

谢谢, 阿肖克