我有一個ViewPager和它的適配器我有3個孩子(片段)。這3個孩子的內容應該有不同的高度。Android的 - 如何ViewPager與不同高度的多個孩子
我已經嘗試覆蓋ViewPager中的onMeasure Methode像這樣(src:stackoverflow.com/questions/8394681/android-i-am-unable-to-have-viewpager-wrap-content/18167273#18167273)
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
View view = null;
for (int i = 0; i < getChildCount(); i++) {
// find the first child view
view = getChildAt(i);
if (view != null) {
// measure the first child view with the specified measure spec
view.measure(widthMeasureSpec, heightMeasureSpec);
}
setMeasuredDimension(getMeasuredWidth(),
measureHeight(heightMeasureSpec, view));
}
}
但這不適用於ViewPager中的所有孩子,它只爲所有孩子設置一個高度。
這是CustomViewPager從ViewPager擴展:
這是viewPager適配器:每次調用新的片段時
public class MyPagerAdapter extends FragmentPagerAdapter {
private final String[] TITLES = { "card1", "card2", "Card3" };
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public CharSequence getPageTitle(int position) {
return TITLES[position];
}
@Override
public int getCount() {
return TITLES.length;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return CookCardFragment.newInstance(position);
case 1:
return RecipeCardFragment.newInstance(position);
case 2:
return CookCardFragment.newInstance(position);
}
return null;
}
}
問題是,viewPager的childs並不總是相同的高度。例如,我有一個評論孩子,viewPager應該根據內容縮放其高度。 – ninjaxelite 2014-08-28 07:41:50
將viewpager高度更改爲android:layout_height =「wrap_content」 – sandy 2014-08-28 09:57:55
wrap_content不適用於viewpager – ninjaxelite 2014-08-28 15:03:02