2013-10-09 56 views
0

我做了一些类似tab的东西。 我有HorizontalScrollViewLinearLayout和其中查看。 我想这取决于屏幕尺寸(滚动型或尺寸的LinearLayout)如何设置像父母大小百分比的视图大小?

这样做是为了改变我的搜索宽度:

if (view1.size+view2.size + ... + viewn.size < scrollView.size) 
{ 
    view1.setSize(scrollView.size/n); 
    view2.setSize(scrollView.size/n); 
    ... 
    viewn.setSize(scrollView.size/n); 
} 

我尝试设置东西onMeasure,但所有的决定是错误的。

回答

2

ScrollView的大小不确定,实际上取决于孩子的大小。

如果你想使用你想显示这使得更多的意义在屏幕上,屏幕的大小和多少孩子,像下面可能工作(未测试):

int children_on_screen = 3; 
int size = getWidthOfTheScreen(); 

for(int i=0;i<yourLinearLayout.getChildCount();i++) { 
    LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) yourLinearLayout.getChildAt(i).getLayoutParams(); 
    params.width = size/children_on_screen; 
} 
yourLinearLayout.requestLayout(); 
相关问题