Horizo​​ntalScrollView不通知子级的比例

时间:2013-05-20 12:55:33

标签: android scale horizontalscrollview

我有以下问题:

我有一个Horizo​​ntalScrollView,包含一个LinearLayout“main”。在这个LinearLayout中,我想添加几个CustomViews。当我现在缩放LinearLayout“main”时,使用scaleY和scale X,我希望能够在Layout中水平滚动(所以它应该像缩放功能)。但是ScrollView没有意识到“main”的宽度已经改变了。它保持旧的尺寸。我已经尝试了几种方法,比如requestLayout(),但没有什么真正有效。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试递归设置“main”的所有子项的大小。即 把它放在scaleX()/ scaleY()之后:

    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));