我已经使用 ViewPagerIndicator 来获取 WalkThrough,就像最流行的应用程序一样。但我不明白如何在ViewPager其中添加显示如何使用应用程序的图片。
我想要的是像这些Walk Through。
到现在为止我得到了什么。
我不知道
如何添加自定义视图ImageView和TextViewin ViewPager?
任何指导都将受到欢迎。
我已经使用 ViewPagerIndicator 来获取 WalkThrough,就像最流行的应用程序一样。但我不明白如何在ViewPager其中添加显示如何使用应用程序的图片。
我想要的是像这些Walk Through。
到现在为止我得到了什么。
我不知道
任何指导都将受到欢迎。
由于这个问题真的很老,我只写一个简短的一般指南:
要使用内容填充 viewpager,请将片段添加到适配器,然后将适配器设置为 viewpager。您可以在片段中进行几乎任何布局,将图像/文本等放在那里。
正如 Inteist 建议的那样,可以将任何布局放入片段中并将该片段提供给适配器。
分段:
public final class SelectModelFragment extends Fragment {
private static final String KEY_CONTENT = "SelectModelFragment:Content";
private static String TAG = SelectModelFragment.class.getSimpleName();
private SelectModel mSelectModelObj;
private CircularImageView mImageView;
public static SelectModelFragment newInstance(SelectModel obj) {
SelectModelFragment fragment = new SelectModelFragment();
fragment.mSelectModelObj =obj;
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((savedInstanceState != null) && savedInstanceState.containsKey(KEY_CONTENT)) {
mSelectModelObj = savedInstanceState.getParcelable(KEY_CONTENT);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_select_model, container, false);
mImageView = (CircularImageView)view.findViewById(R.id.fragment_select_model_iv);
return view;
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putParcelable(KEY_CONTENT, mSelectModelObj);
}
}
片段适配器:
public class SelectModelAdapter extends FragmentPagerAdapter {
ArrayList<SelectModel> mList;
private int mCount;
private static final String TAG = SelectModelAdapter.class.getSimpleName();
public SelectModelAdapter(FragmentManager fm, ArrayList<SelectModel> mList) {
super(fm);
this.mList = mList;
mCount = mList.size();
}
@Override
public Fragment getItem(int position) {
return SelectModelFragment.newInstance(mList.get(position));
}
@Override
public int getCount() {
return mCount;
}
@Override
public CharSequence getPageTitle(int position) {
return TAG;
}
public void setCount(int count) {
if (count > 0 && count <= 10) {
mCount = count;
notifyDataSetChanged();
}
}
}
活动:ViewPager 有提供 Fragment 的 Fragment Adapter。
public class SelectModelActivity extends BaseSliderActivity {
private ViewPager mPager;
private SelectModelAdapter mAdapter;
private ArrayList<SelectModel> mList;
private void setAdapter() {
mAdapter = new SelectModelAdapter(getSupportFragmentManager(), mList);
mPager.setAdapter(mAdapter);
mIndicator.setViewPager(mPager);
}
}