如何始终显示3个按钮horizo​​ntalscrollview

时间:2015-12-23 08:16:50

标签: android

enter image description here我正在使用带按钮的横向视图滚动视图。现在我想在每种类型的移动屏幕上一次只能显示3个按钮。怎么可能? 我正在使用以下代码。

<HorizontalScrollView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="50dp" >

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

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button2" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button3" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button4" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button5" />

    </LinearLayout>
</HorizontalScrollView>

3 个答案:

答案 0 :(得分:0)

在xml布局中不可能,因为你没有滚动视图的宽度但是... 您可以通过以下代码获取设备宽度像素,然后将其除以3:

DisplayMetrics display;
display = this.getResources().getDisplayMetrics();
int width = display.widthPixels; 

当您获得设备宽度像素时,将其设置为3并设置为按钮:

btn.setWidth (width / 3);

希望它有用......

答案 1 :(得分:0)

我认为您正在寻找类似this.

的内容

您可以将按钮的大小设置为屏幕的1/3(具有布局权重),我认为按钮的其余部分不是“屏幕外”,因此您可以通过滚动显示它们。 我不能告诉你代码是如何看起来像因为我不是一个Android开发人员,但我曾经做过一次,它就是这样的。

我希望它可以帮助您找到确切的解决方案!

答案 2 :(得分:0)

很难,因为Horizo​​ntalScrollView不允许你这样做。

如果你使用Horizo​​ntalScrollView然后给这个按钮一个weightSum,它就不会被应用。

所以我想说,它取决于屏幕尺寸。如果你修复它而不是其他的那个。