Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 滚动视图位置从纵向更改为横向_Android - Fatal编程技术网

Android 滚动视图位置从纵向更改为横向

Android 滚动视图位置从纵向更改为横向,android,Android,我正在开发一个应用程序。问题在于横向模式下相对于纵向模式的滚动视图位置变化。我对此一无所知。我是android新手。请帮助我。将此添加到活动课中 @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); final ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView); ou

我正在开发一个应用程序。问题在于横向模式下相对于纵向模式的滚动视图位置变化。我对此一无所知。我是android新手。请帮助我。

将此添加到活动课中

@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
final ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView);
outState.putFloatArray("ScrollViewContainerScrollPercentage",
        new float[]{
                (float) scrollView.getScrollX()/scrollView.getChildAt(0).getWidth(),
                (float) scrollView.getScrollY()/scrollView.getChildAt(0).getHeight() });
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
final float[] scrollPercentage = savedInstanceState.getFloatArray("ScrollViewContainerScrollPercentage");
final ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView);
scrollView.post(new Runnable() {
    public void run() {
        scrollView.scrollTo(
                Math.round(scrollPercentage[0]*scrollView.getChildAt(0).getWidth()),
                Math.round(scrollPercentage[1]*scrollView.getChildAt(0).getHeight()));
    }
});
}

你所说的滚动视图位置是什么意思。您是否将活动设置为纵向模式?请澄清您的问题并尝试发布您的代码您的意思是它会返回顶部?这是正常的,因为活动是在配置更改时重新创建的。是的,这就是问题所在。我想在将纵向更改为横向时保存scrollview位置,反之亦然