我在活动的布局中使用SwipeView(http://jasonfry.co.uk/blog/android-swipeview/)来显示多个页面。此外,我想手动处理方向更改,所以我添加了
android:configChanges="orientation|keyboardHidden|screenSize"
进入应用程序的清单,以便不调用onDestroy / onCreate。不幸的是,通过这样做,滑动视图内的元素不会相应地调整大小。我已经尝试了以下方法:
他们都没有成功! 任何帮助,将不胜感激。 感谢
答案 0 :(得分:0)
如果有人为此奋斗,我终于找到了解决方案。 诀窍是不要在swipeview本身上请求布局,而是在getChildContainer()上请求布局。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
SwipeView swipeView = (SwipeView)findViewById(R.id.swipeView);
int pageWidth = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getWidth();
swipeView.setPageWidth(pageWidth);
for ( int i = 0; i < swipeView.getChildContainer().getChildCount(); i++ )
swipeView.getChildContainer().getChildAt(i).getLayoutParams().width = pageWidth;
swipeView.getChildContainer().requestLayout();
swipeView.scrollToPage(swipeView.getCurrentPage());
}