LinearLayout按钮上方的水平ScrollView

时间:2013-05-20 07:54:33

标签: android horizontalscrollview

我希望实现的目标是:

H&M android app

问题是:点击底部布局上的圆形按钮后,会出现一个Horizo​​ntalScrollView,其中包含产品的可能颜色(我将不得不下载)。 我试过这样的事情:

 <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" >

        <LinearLayout
            android:id="@+id/lay_productdetailed_bottombar"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/transparent"
            android:gravity="center_vertical"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/btn_productdetailed_fullscreen"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Full" />

            <Button
                android:id="@+id/btn_productdetailed_colors"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Colors" />

            <Button
                android:id="@+id/btn_productdetailed_sizes"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Sizes" />

            <Button
                android:id="@+id/btn_productdetailed_buy"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Buy" />
        </LinearLayout>

        <HorizontalScrollView
            android:id="@+id/hscroll_productdetailed_colors"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_above="@+id/btn_productdetailed_colors" >

            <LinearLayout
                android:id="@+id/lay_productdetailed_colors"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="2dp" >

                <ImageButton
                    android:layout_width="60dp"
                    android:layout_height="60dp"
                    android:layout_gravity="center_vertical" />

                <ImageButton
                    android:layout_width="60dp"
                    android:layout_height="60dp"
                    android:layout_gravity="center_vertical" />
            </LinearLayout>
        </HorizontalScrollView>
    </RelativeLayout>

这2个ImageButtons仅用于测试,以观察它们在屏幕上的位置(Eclipse)。

此代码似乎根本不对齐按钮上方的水平滚动视图。关于如何实现这一目标的任何想法?

PS。另一个问题是:我可以像在图片中那样对这些按钮进行舍入,而不创建一个扩展Shape的类吗?

1 个答案:

答案 0 :(得分:0)

您无法添加有关RelativeLayout子项的规则,而这些规则不是那些视图的直接兄弟。这意味着您的HorizontalScrollView无法与Button相对,因为Button并未作为持有{{1}的RelativeLayout的直接子项}}

充其量你可以将HorizontalScrollView放在lay_productdetailed_bottombar HorizontalScrollView之上,但正如我所说,这不会给你相对于LinearLayout的定位控制。另一种方法是Button持有PopupWindow

根据图像判断,您可能希望HorizontalScrollViewHorizontalScrollView的中心为中心,这在xml布局中无法完成,您只能通过手动计算尺寸来实现

  

我可以将这些按钮缩小,就像在图片中一样,而不创建   一个扩展Shape的类?

不,你需要自己创建它。