摘要:本文将带你了解Android开发源码之实现滑动页面,希望本文对大家学Android有所帮助
效果:
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
PagerData类:
1 package com.cloud.viewpagerdemo; 2 3 import java.io.Serializable; 4 5 class PagerData implements Serializable { 6 7 private int mImageResId; 8 private String mContent; 9 10 PagerData(int imageResId, String content) {11 mImageResId = imageResId;12 mContent = content;13 }14 15 public int getImageResId() {16 return mImageResId;17 }18 19 public void setImageResId(int imageResId) {20 mImageResId = imageResId;21 }22 23 public String getContent() {24 return mContent;25 }26 27 public void setContent(String content) {28 mContent = content;29 }30 }
PagerFragment类:
1 package com.cloud.viewpagerdemo; 2 3 import android.graphics.Outline; 4 import android.os.Bundle; 5 import android.support.annotation.NonNull; 6 import android.support.annotation.Nullable; 7 import android.support.v4.app.Fragment; 8 import android.view.LayoutInflater; 9 import android.view.View;10 import android.view.ViewGroup;11 import android.view.ViewOutlineProvider;12 import android.widget.ImageView;13 import android.widget.TextView;14 15 public class PagerFragment extends Fragment {16 17 private static final String ARG_DATA = "data";18 19 private PagerData mData;20 21 private ImageView mImageView;22 private TextView mContent;23 24 /**25 * 通过静态方法获取Fragment实例,向Fragment传参数26 * @param data 数据27 * @return Fragment28 */29 public static PagerFragment newInstance(PagerData data) {30 PagerFragment fragment = new PagerFragment();31 32 //使用FragmentArguments传递参数33 Bundle args = new Bundle();34 args.putSerializable(ARG_DATA, data);35 fragment.setArguments(args);36 return fragment;37 }38 39 @Override40 public void onCreate(@Nullable Bundle savedInstanceState) {41 super.onCreate(savedInstanceState);42 mData = (PagerData) getArguments().getSerializable(ARG_DATA);43 }44 45 @Nullable46 @Override47 public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,48 @Nullable Bundle savedInstanceState) {49 View view = inflater.inflate(R.layout.fragment_pager, container, false);50 51 //绑定控件52 mImageView = view.findViewById(R.id.image_view);53 mContent = view.findViewById(R.id.text_content);54 55 //ImageView设置圆角56 ViewOutlineProvider viewOutlineProvider = new ViewOutlineProvider() {57 @Override58 public void getOutline(View view, Outline outline) {59 outline.setRoundRect(0, 0, mImageView.getWidth(), mImageView.getHeight(), 16);60 }61 };62 63 mImageView.setOutlineProvider(viewOutlineProvider);64 mImageView.setClipToOutline(true);65 mImageView.setImageResource(mData.getImageResId());66 mContent.setText(mData.getContent());67 68 return view;69 }70 }
PagerActivity:
1 package com.cloud.viewpagerdemo; 2 3 import android.support.v4.app.Fragment; 4 import android.support.v4.app.FragmentManager; 5 import android.support.v4.app.FragmentStatePagerAdapter; 6 import android.support.v4.view.ViewPager; 7 import android.support.v7.app.AppCompatActivity; 8 import android.os.Bundle; 9 import android.widget.TextView;10 11 import java.util.ArrayList;12 import java.util.List;13 14 public class PagerActivity extends AppCompatActivity {15 16 private List
fragment_pager:
1 2
activity_pager:
1 2
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号