Android将高度设置为scrollview不工作

Android将高度设置为scrollview不工作,android,scrollview,Android,Scrollview,我使用下面的新高度代码来滚动视图 但不起作用 viewFindPos = (ScrollView) findViewById(R.id.Roll); viewFindPos.getLayoutParams().height = 5000; // OR : viewFindPos.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 5000)); 获取ScrollView的布局参数后,需要将Layout

我使用下面的新高度代码来滚动视图

但不起作用

viewFindPos = (ScrollView) findViewById(R.id.Roll);
viewFindPos.getLayoutParams().height = 5000;

// OR : viewFindPos.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 5000));

获取ScrollView的布局参数后,需要将LayoutParameters设置回视图。稍后请求布局,以便重新绘制。查看下面的代码,这将帮助您理解

LayoutParams params = viewFindPos.getLayoutParams();
params.height = 5000;
viewFindPos.setLayoutParams(params);
viewFindPos.requestLayout();
这项工作:

@凌驾

WindowFocusChanged上的公共无效(布尔hasFocus) { super.onWindowFocusChanged(hasFocus); ScrollView视图FindPos=(ScrollView)findViewById(R.id.ScrollView); viewFindPos.getLayoutParams().height=500; } 或

@凌驾

受保护的void onResume()


我相信,这会奏效的。代码的问题可能是您试图在绘制视图之前设置高度。您需要实现全局布局侦听器,以便能够在实际绘制视图时更改视图的高度。除了上面的注释外,您还需要从右侧父视图强制转换LayoutParams。请共享更多代码,以便我们可以更好地了解您的操作。
{
    super.onResume(hasFocus);
    ScrollView viewFindPos = (ScrollView) findViewById(R.id.scrollView);
    viewFindPos.getLayoutParams().height = 100;
}