日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > 廣告自動輪播(完美解決人為滑動后按順序自動輪播)

廣告自動輪播(完美解決人為滑動后按順序自動輪播)

來源:程序員人生   發布時間:2015-05-26 08:30:04 閱讀次數:3508次

在手機客戶端上,廣告的循環播放很是常見,在網上也看過1些Demo,好多寫的不是太完全,人為不干預的情況下確切是依照順序輪播,但是人為去滑動后,接下來的自動輪播不是按滑動后的currentposition播放的,而是依照手動滑動前position的位置跳躍播放的。閑暇之余,把這個問題簡單的解決了1下,為后來者提供1些思路。

=======================================================================================================

版權所有,如需轉載請標明出處:http://blog.csdn.net/you4580

=======================================================================================================

public class MainActivity extends Activity implements OnPageChangeListener{

private ViewPager mViewPager;
private FoucsAdapter mFoucsAdapter;
private ArrayList<View> mFocusViewList;
private int mCurrentItem;
private boolean isRun;
private boolean nowAction;
//輪播定時器
private ScheduledExecutorService mScheduledExecutorService;
private int[] image=new int[]{R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};
private Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
mViewPager.setCurrentItem(mCurrentItem);
};
};



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


mViewPager=(ViewPager) findViewById(R.id.electricity_viewPager);
mViewPager.setOnPageChangeListener(this);


mFoucsAdapter = new FoucsAdapter(getApplicationContext());
mViewPager.setAdapter(mFoucsAdapter);


mFocusViewList = new ArrayList<View>();
for (int i = 0; i < 5 ; i++) {
View view = this.getLayoutInflater().inflate(R.layout.electricity_focus_item,null);
TextView focusIndex = (TextView)view.findViewById(R.id.electricity_focusIndex);
ImageView focusImage = (ImageView)view.findViewById(R.id.electricity_focusImage);
focusIndex.setText(i+1+"/"+5);
focusImage.setBackgroundResource(image[i]);
mFocusViewList.add(view);
}
mFoucsAdapter.setList(mFocusViewList);


handler.postDelayed(new Runnable() {
@Override
            public void run() {
                //mScrollView.scrollTo(0,0);
                if(!isRun){
                    if(mScheduledExecutorService != null){
                        mScheduledExecutorService.scheduleAtFixedRate(new ScrollTask(), 0, 3, TimeUnit.SECONDS);
                    }
                }
            }
        },500);
}


@Override
protected void onStart() {
super.onStart();
mScheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
}


@Override
protected void onStop() {
super.onStop();
if(mScheduledExecutorService!=null){
mScheduledExecutorService.shutdown();
}
}


private class ScrollTask implements Runnable {

public void run() {
synchronized (mViewPager) {
                if (!nowAction) {
                    mCurrentItem = mCurrentItem+1;
                    handler.obtainMessage().sendToTarget();
                }
            }
}
}


@Override
public void onPageScrolled(int position, float positionOffset,
int positionOffsetPixels) {

}


@Override
    public void onPageSelected(int position) {
        mCurrentItem = position;
    }


    @Override
    public void onPageScrollStateChanged(int state) {
        if (state == 0) {
            nowAction = false;
        }
        if (state == 1) {
            nowAction = true;
        }
    }
}

===========================================================================================

<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="com.example.adscirledemo.MainActivity" >


    <android.support.v4.view.ViewPager
        android:id="@+id/electricity_viewPager"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:background="#ffffff" />


</RelativeLayout>

============================================================================================


/**
 *
 * @DESCRIPTION:
 * @AUTHOR:you4580
 * @VERSION:v1.0
 * @DATE:2015⑷⑵0
 */
public class FoucsAdapter extends PagerAdapter{
    private Context mContext;
    private List<View> mList;
    private MyItemClickLitener myItemClickLitener;


    public FoucsAdapter(Context context){
        this.mContext = context;


    }


    public void setList(List<View> list){
        this.mList = list;
        this.notifyDataSetChanged();
    }
    @Override
    public int getCount() {
        if(mList == null)return 0;
        return Integer.MAX_VALUE;
    }


    @Override
    public Object instantiateItem(ViewGroup container, final int position) {
        View view = null;
        if (position % mList.size() < 0) {
            view = mList.get(mList.size() + position);
        } else {
            view = mList.get(position % mList.size());
        }
        ViewParent vp = view.getParent();
        if (vp != null) {
            ViewGroup parent = (ViewGroup) vp;
            parent.removeView(view);
        }
        ((ViewPager) container).addView(view);
        view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                myItemClickLitener.OnItemClick(position);
            }
        });
        return view;
    }


    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {


    }


    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }


    public void setMyItemClickLitener(MyItemClickLitener myItemClickLitener){
        this.myItemClickLitener = myItemClickLitener;
    }


    public interface MyItemClickLitener{
        public void OnItemClick(int position);
    }
}


===========================================================================================


<?xml version="1.0" encoding="utf⑻"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >


        <ImageView
            android:id="@+id/electricity_focusImage"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/bplaceholder_head_news"
            android:flipInterval="30"
            android:persistentDrawingCache="animation"
            android:scaleType="centerCrop" />
    </RelativeLayout>


    <TextView
        android:layout_width="fill_parent"
        android:layout_height="20dip"
        android:layout_alignParentBottom="true"
        android:alpha="0.5"
        android:background="@drawable/ele_focus_bottom" />


    <TextView
        android:id="@+id/electricity_focusIndex"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginRight="3dp"
        android:gravity="center_vertical|right"
        android:paddingRight="5dp"
        android:textColor="#ffffff"
        android:textSize="16sp" />


</RelativeLayout>



===========================================================================================

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 热久久久久 | 美女又爽又黄免费视频 | 日韩av在线网 | 久久综合av | 538国产精品视频一区二区 | 国产精品一区二区三区av | 欧美成人一区二免费视频软件 | 亚洲一区二区三区在线 | 国产超碰人人爽人人做人人爱 | 久久网页 | 网曝91综合精品门事件在线 | 国产日韩精品视频 | 成人污视频在线观看 | 精品国产福利 | 日韩毛片在线观看 | 欧美ⅹxxxxxx | 欧美jizz18性欧美视频 | 国产激情网 | 麻豆精品| av在线不卡一区 | 久久久久国产精品免费免费搜索 | 久久久久久艹 | 日韩av高清 | 天堂av中文 | 日韩中文一区二区三区 | 久久久鲁 | 国产一区二区三区久久 | 国产精品久久久久久久免费软件 | 日韩天堂 | 国产精品一区在线 | 日韩精品免费在线观看 | 国产精品网站视频 | 久久综合影视 | 国产精品自拍小视频 | 天天操夜夜操免费视频 | 久久久久久久久久久久久女国产乱 | 午夜美女福利 | 亚洲视频成人 | 欧美在线免费观看 | 99re热精品| 精品久久久一区二区 |