public class Home_custom_View extends RelativeLayout { private ImageView left_iv; private ImageView right_iv; private EditText centre_et; private ViewPager vp; private Maadapter maadapter; private Mahader mahader; public Home_custom_View(Context context) { this(context,null); } public Home_custom_View(Context context, AttributeSet attrs) { this(context, attrs,0); } public Home_custom_View(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); View view = LayoutInflater.from(context).inflate(R.layout.layout1, this, true); left_iv = view.findViewById(R.id.left_iv); right_iv = view.findViewById(R.id.right_iv); centre_et = view.findViewById(R.id.centre_et); vp = view.findViewById(R.id.vp); } public void setView(Context context,String s){ maadapter = new Maadapter(context,s); vp.setAdapter(maadapter); mahader = new Mahader(); mahader.sendEmptyMessageDelayed(0,3000); } class Maadapter extends PagerAdapter{ private final Context context; private final String s; public Maadapter(Context context,String s){ this.context=context; this. s= s; } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = new ImageView(context); Gson gson = new Gson(); Home_Bean home_bean = gson.fromJson(s, Home_Bean.class); List<Home_Bean.DataBean> data = home_bean.getData(); Glide.with(context).load(data.get(position%data.size()).getIcon()).into(imageView); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } } //设置Handler class Mahader extends Handler { @Override public void handleMessage(Message msg) { vp.setCurrentItem(vp.getCurrentItem()+1); mahader.sendEmptyMessageDelayed(0,1000); } }
自定义 TexeView
最新推荐文章于 2023-06-05 19:20:20 发布