ThreeFragment

//+++++++++++++++ThreeFragment++++++++++++++++
package com.gx.rikao20181016;

import android.annotation.SuppressLint;
import android.app.Fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

/**

  • A simple {@link Fragment} subclass.
    */
    public class ThreeFragment extends Fragment {

    private TextView textView;
    private ViewPager viewPager;
    private LinearLayout linearLayout;
    private int[] images;
    private String[] text;
    private ImageView imageView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_three, container, false);
    //找控件
    textView = view.findViewById(R.id.threeTextview);
    viewPager = view.findViewById(R.id.threeviewpager);
    linearLayout = view.findViewById(R.id.threeimage);

     images = new int[]{
            R.drawable.a,
             R.drawable.b,
             R.drawable.c,
             R.drawable.d,
             R.drawable.e,
     };
     text = new String[]{
             "大撒大撒达时间","大家撒开了好几个","的撒娇空间分开了","公司凯迪拉克结果","发骚看倒萨"};
     //根据图片的数量向布局中添加小红点
     for (int x = 0; x< images.length; x++){
         LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);
         params.leftMargin=10;
         params.width=5;
         params.height=5;
         imageView = new ImageView(getActivity());
         imageView.setImageResource(R.mipmap.dd);
         imageView.setId(x);
         linearLayout.addView(imageView,params);
     }
     //给viewpager设置适配器添加图片
     viewPager.setAdapter(new PagerAdapter() {
    
         @Override
         public int getCount() {
             return Integer.MAX_VALUE;
         }
    
         @Override
         public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
             return view==o;
         }
    
         @Override
         public Object instantiateItem(@NonNull ViewGroup container, int position) {
             ImageView imageView=new ImageView(getActivity());
             imageView.setImageResource(images[position%text.length]);
             container.addView(imageView);
             return imageView;
         }
    
         @Override
         public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
             container.removeView((View) object);
         }
     });
     //根据监听来根据图片设置图下文字和按钮
     viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
         @Override
         public void onPageScrolled(int i, float v, int i1) {
             int item = viewPager.getCurrentItem();
             /*Toast.makeText(getActivity(),""+item,Toast.LENGTH_SHORT).show();*/
    
             textView.setText(text[item%images.length]);
             for (int ii=0;ii<images.length;ii++){
                 linearLayout.getChildAt(ii).setBackgroundResource(ii==item%images.length?R.mipmap.dot_focus:R.mipmap.dd);
             }
    
         }
    
         @Override
         public void onPageSelected(int i) {
    
         }
    
         @Override
         public void onPageScrollStateChanged(int i) {
             if (i==viewPager.SCROLL_STATE_IDLE){
                 handler.sendEmptyMessageDelayed(0,2000);
             }
             else {
                 handler.removeMessages(0);
             }
         }
     });
     handler.sendEmptyMessage(0);
     return view;
    

    }
    @SuppressLint(“HandlerLeak”)
    Handler handler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
    super.handleMessage(msg);
    switch (msg.what){
    case 0:
    int item = viewPager.getCurrentItem();
    viewPager.setCurrentItem(item+1);
    handler.sendEmptyMessageDelayed(0,2000);
    break;
    }
    }
    };

}

//+++++++++++++++++++适配器MyBigAdapter+++++++++

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

public class MyBigAdapter extends FragmentPagerAdapter {

public MyBigAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int i) {
    return null;
}

@Override
public int getCount() {
    return 0;
}

}
//++++++++++++++++布局+++++++++++

<?xml version="1.0" encoding="utf-8"?>

<+++RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android
xmlns:tools=“http://schemas.android.com/tools
android:layout_width=“match_parent”
android:layout_height=“match_parent”
tools:context=".ThreeFragment">

<android.support.v4.view.ViewPager
    android:id="@+id/threeviewpager"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="0dp"
    android:layout_marginTop="0dp">

</android.support.v4.view.ViewPager>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="80dp"
    android:orientation="vertical"
    android:layout_alignBottom="@+id/threeviewpager"
    android:layout_alignParentStart="true"
    android:gravity="center"
    android:background="#88666666">
    <TextView
        android:gravity="center"
        android:id="@+id/threeTextview"
        android:layout_width="wrap_content"
        android:layout_height="30dp" />
    <LinearLayout
        android:id="@+id/threeimage"
        android:gravity="center"
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </LinearLayout>
</LinearLayout>

</RelativeLayout+>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值