您的位置:首页 > 其它

HorizontalScrollView动态添加item居中问题

2017-10-16 20:10 435 查看
今天在项目中使用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>


亲测有效,希望能对各位有所帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  horizontalscrollview
相关文章推荐