0
こんにちは、私はフラグメントにビューページを入れようとしていましたが、私は多くのチュートリアルに従い、無駄になりました。私はここに私のコードがある別のフラグメントレイアウトの途中でviewpagerを作成しようとしています:ViewPagerはフラグメントのレイアウト内には表示されません
アダプタ:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_social_people,
container, false);
// stack cards
ViewPager mPager;
PagerAdapter mAdapter;
mPager = (ViewPager)view.findViewById(R.id.stackcardvp);
mAdapter = new CardStackAdapter(getActivity(),getChildFragmentManager());
mPager.setPageTransformer(true,new CardStackTransformer());
mPager.setOffscreenPageLimit(2);
mPager.setAdapter(mAdapter);
// mPager.setAdapter(buildAdapter());
return view;
}
:トランスクラスを含むViewPagerが含まれてい
public class CardStackAdapter extends FragmentPagerAdapter {
private Context context;
public CardStackAdapter(Context context, FragmentManager fm) {
super(fm);
this.context =context;
}
@Override
public Fragment getItem(int position)
{
return CardStackFragment.newInstance(position);
}
@Override
public int getCount() {
return 5;
}
}
断片
トランスフォーマー:
private class CardStackTransformer implements ViewPager.PageTransformer{
@Override
public void transformPage(View page, float position) {
if(position >= 0){
page.setScaleX(0.0f-0.02f * position);
page.setScaleY(0.0f);
page.setTranslationX(-page.getWidth()+position);
page.setTranslationY(30 + position);
}
}
}// private class
そしてviewpagerのためのフラグメント:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_card_stack,
container, false);
return view;
}
public static CardStackFragment newInstance(int selectedIdForIndex) {
CardStackFragment fragment = new CardStackFragment();
Bundle args = new Bundle();
args.putInt(ARG_LAYOUT_ID, selectedIdForIndex);
fragment.setArguments(args);
return fragment;
}
viewpagerを格納するためのフラグメントのためのXMLレイアウト:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="30dp">
<FrameLayout
android:id="@+id/fl"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
>
<android.support.v4.view.ViewPager
android:id="@+id/stackcardvp"
android:layout_width="match_parent"
android:layout_height="320dp"
android:layout_centerInParent="true"
android:visibility="visible" />
</FrameLayout>
</LinearLayout>
問題は、私はGetChildFragmentを使用してのさまざまなチュートリアルを試して、それはまだないです私はビルドアダプターを作成しようとしましたが、結果は表示されませんでした。 アドバイスをありがとうございます。
大丈夫ですが、私はそれを「新しいCardStackFragment(); return」に置き換えました。まだ出力にチェンジャーはありません。空白のようです –
あなたは正しいです!この場合、どうすれば私の変換を追加できますか? –
CardStackTransformer()クラスにどのような変換を追加しようとしているのでしょうか?計算が間違っていると思います。 – Anonymous