2013-05-20 6 views
1

의 규모를 통지하지 않습니다 나는 다음과 같은 문제가 있습니다HorizontalScrollView 아이

내가 "주"는있는 LinearLayout을 포함하는 HorizontalScrollView를 가지고 있습니다. 이 LinearLayout에서 여러 CustomViews를 추가하고 싶습니다. 이제 LinearLayout "main"을 scaleY와 X 축척을 사용하여 스케일링 할 때 레이아웃을 가로로 스크롤 할 수 있기를 원합니다 (따라서 줌 기능과 같아야합니다). 그러나 ScrollView는 "메인"너비가 변경되었음을 인식하지 못합니다. 그것은 이전 크기로 유지됩니다. requestLayout()과 같은 여러 메소드를 이미 시도했지만 아무 것도 실제로 작동하지 않습니다. 어떤 아이디어?

답변

0

"main"의 모든 하위 항목의 크기를 재귀 적으로 설정할 수 있습니다.

int mainWidth = (int) ((main.getWidth()); 
    for(i=0; i< main.getChildCount();i++) 
    { 
     childView = (View) main.getChildAt(i); 
     childView.setWidth(mainWidth); 
     childView.setHeight((int) (mainWidth*Weight)); 
    } 

또는 그냥있는 ScrollView 걱정하는 경우, 대신에이 코드를 넣어 : 아이들의 크기가 올바르게 조정됩니다

int mainWidth = (int) ((main.getWidth()); 
    ScrollView scrollView = (ScrollView) findViewById(R.id.YOURSCROLLVIEW); 
    scrollView.setWidth(mainWidth); 
    scrollView.setHeight((int) (mainWidth*Weight)); 
+0

, scaleX가 (즉 는 scaleX가()/scaleY를() 이후에이 권리를 넣어)/scaleY() 올바른지 않습니다. 또한 main의 너비는 scrollview의 너비보다 큽니다. 이것이 ScrollView가 필요한 이유입니다. ScrollView의 크기는 동일하게 유지해야하지만 크기를 조정 한 후 "주"의 끝까지 스크롤 할 수 있기를 원합니다. – user2401758