我目前正在開發一款強力使用ViewPager
Widget的平板電腦應用程序。我也一次在屏幕上看到多個Viewpage。停止安裝Android Layouts all my Views
現在我遇到了以下問題: 如果一個ViewPager滾動到下一個/上一個頁面,它(當然)必須重新計算它的佈局並添加/刪除視圖。我注意到requestLayout
調用直到查看層次結構的頂部,因此我無法在平板電腦屏幕上看到我的視圖的ALL(這是很多!)。 這是非常昂貴的。現在
我的問題是:是否有實現其周圍進行初始佈局的ViewPager框架的可能性,然後不會傳播於版圖請求了視圖層次我所知,最初的佈局後,框架保持相同的大小,不會改變。
我想出了以下框架,但它不能很好地工作,因爲它不能100%的工作。
public class MyFrame extends FrameLayout
{
// VARIABLE CONTROLLING THE DISPATCH OF THE LAYOUT
// REQUEST UP THE VIEW HIERARCHY
private boolean doLayout = true;
public MyFrame(Context context)
{
super(context);
doLayout = true;
}
@Override
public void requestLayout()
{
if (doLayout) // DO THE LAYOUT REQUEST UP TO THE TOP
super.requestLayout();
else
{
// JUST MEASURE MYSELF AND MY CHILDREN
measure(MeasureSpec.getMode(MeasureSpec.AT_MOST),
MeasureSpec.getMode(MeasureSpec.AT_MOST));
layout(getLeft(), getTop(), getRight(), getBottom());
}
doLayout = false;
}
}
感謝您的任何建議!