2013-10-09 5 views
0

나는 탭과 같은 것을 만듭니다. HorizontalScrollViewLinearLayout이 있고보기가 거의 없습니다. 내가 이렇게 화면 크기 (있는 ScrollView 나있는 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(); 
관련 문제