多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開源 > 綜合技術(shù) > 廣告自動(dòng)輪播(完美解決人為滑動(dòng)后按順序自動(dòng)輪播)

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

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-05-26 08:30:04 閱讀次數(shù):3502次

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

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

版權(quán)所有,如需轉(zhuǎn)載請(qǐng)標(biāo)明出處: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;
//輪播定時(shí)器
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>



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

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产成人一区二区 | 亚洲高清视频免费 | 日韩欧美在线综合 | 毛片新网址 | 老牛影视在线一区二观看 | 武则天级淫片a级中文 | 国产中文欧美 | 国产亚洲影院 | 精品国产日韩一区三区 | 性爱视频在线播放 | 波多野结衣亚洲 | 欧美刺激性色黄大片18 | 性做久久久久久免费观看 | 亚洲丝袜另类 | 亚洲最大福利网 | 一本之道免费视频 | 最新国产在线播放 | 欧美一级在线观看 | 女性一级全黄生活片 | 国产免费亚洲 | 一级毛片大全免费播放 | 国产欧美日韩免费一区二区 | a久久久久一级毛片护士免费 | 欧美性猛片xxxxⅹ免费 | 日本不卡一区二区三区视频 | 毛片网站网址 | 免费一区二区三区四区五区 | 免费理论片在线观看 | 国产欧美日韩高清专区手机版 | 国产精品jizz观看 | 亚洲性综合 | 在线高清国产 | 亚州视频一区二区 | 日本高清无吗免费播放 | 国产九色在线 | 亚洲精品视频在线看 | 成人欧美一区二区三区黑人 | 亚洲国产成人精品一区91 | 国产免费资源高清小视频在线观看 | 亚洲最大色网站 | 男人天堂亚洲 |