2013-05-13 63 views
0

我有一个线性布局,有4个不同重量的孩子。当用户点击第一个孩子的按钮时,我想添加新的孩子到不同重量(0dp高度)的父线性布局。但是,当我添加新的孩子时,所有孩子的身高都在变化。如何在不改变身高的情况下添加新的视图?android - 向下滑动视图重量

------ 
    view 1 (25%) 
    ------ 
    ------ 
    view 2 (25%) 
    ------ 
    ------ 
    view 3 (25%) 
    ------ 
    ------ 
    view 4 (25%) 
    ------ 

增加新的布局后,编程

 ------ 
    view 1 (25%) 
    ------ 
    ------ 
    view 2 (25%) 
    ------ 
    ------ 
    view 3 (25%) 
    ------ 
    ------ 
    view 4 (25%) 
    ------ 
    ------ 
    view 5 (25%) 
    ------  

总布局将是125%和滚动。谢谢

回答

0

当您使用权重时,视图的大小会动态确定,以确保它们的所有视图都符合父级的大小 - 比例由权重确定。

从你所描述的,LinearLayout听起来不像你的问题的正确解决方案。 ListView可能是更好的方法,当所有项目的总大小超过ListView本身的大小时,它将自动提供滚动功能。 ListView很容易实现,它可以让你自动滚动和分隔项目。有关更多信息,请参阅ListView developer's guide

+0

但我有自定义视图,通过权重来填充屏幕。我想我不能用ListView – dracula 2013-05-13 11:05:00

+0

@ user2317087做到这一点你可以在ListView中拥有动态计算大小的自定义视图 - 这确实很简单。 – 2013-05-13 11:10:51

+0

我有一个登录按钮,下面有另一个视图。并想在登录按钮click.thats我的目标下滑登录视图..谢谢 – dracula 2013-05-13 11:11:56

0

是的,你可以使用自定义风格列表视图自动滚动和获得预期的外观和感觉。你可以这样使用:

<ListView 
       android:id="@+id/" 
       android:layout_width="200dp" 
       android:layout_height="wrap_content" 
       android:divider="@color/off_white" 
       android:dividerHeight="2dp"/>