HorizontalScrollView动态添加item居中问题

来源:互联网 发布:弹幕视频网站源码 编辑:程序博客网 时间:2024/06/05 10:12

今天在项目中使用HorizontalScrollView来实现动态添加子控件并且 居中的时候遇到了两个问题.
1 HorizontalScrollView的使用布局如下

     <HorizontalScrollView                    android:id="@+id/scrollView"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:paddingLeft="@dimen/bottom_img_left"                    android:paddingRight="@dimen/title_bar_add_right"                    android:layout_marginTop="@dimen/shop_detail_imgs_top"                    android:layout_marginBottom="@dimen/shop_detail_imgs_top"                    android:scrollbars="none">                    <LinearLayout                    android:id="@+id/activity_createvisit_gallery"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:orientation="horizontal"                    android:layout_gravity="center_horizontal"                />                </HorizontalScrollView>

然后我在代码中动态的去给这个LinearLayout添加子控件并且居中,但此时会出现一个问题,当你添加的子view超过3个的时候会出现子viwe显示不完全的问题,比如你添加了4个view缺只能显示3个,添加6个只能显示4个.

2在网上查询了子view显示不全的解决方法.只在xml里面定义一个HorizontalScrollView,然后在代码中新建LinearLayout,然后再动态的去给这LinearLayout添加子view,经测试确实可以解决子view显示不全的问题,但是有时候会碰到这样的需求而,要求子view从中间开始显示,然后我在这种方法里找不到无法居中的实现方法 于是参考了另一篇文章.

解决方法如下:
修改你的xml布局即可 将我上述的xml修改如下即可

        <HorizontalScrollView                    android:id="@+id/scrollView"                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:layout_gravity="center_horizontal"                    android:layout_marginBottom="@dimen/shop_detail_imgs_top"                    android:layout_marginTop="@dimen/shop_detail_imgs_top"                    android:paddingLeft="@dimen/bottom_img_left"                    android:paddingRight="@dimen/title_bar_add_right"                    android:scrollbars="none">                    <LinearLayout                        android:id="@+id/activity_createvisit_gallery"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:orientation="horizontal"                    />                </HorizontalScrollView>

亲测有效,希望能对各位有所帮助

阅读全文
0 0
原创粉丝点击