package com.example.many_page_look;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.support.v7.app.ActionBarActivity;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private List<ImageView> imageViewList;
private List<WebView> webViewList;
private List<View> dotList;
private int prePosition;
private int curPosition;
private ViewPager imageViewPager;
private ViewPagerAdapter1 imageViewPagerAdapter1;
private ScheduledExecutorService scheduledExecutorService;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initView();
imageViewPagerAdapter1 = new ViewPagerAdapter1();
imageViewPager.setAdapter(imageViewPagerAdapter1);
imageViewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
prePosition = position;
curPosition = position;
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}
@Override
public void onStart(){
super.onStart();
scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
scheduledExecutorService.scheduleWithFixedDelay(new ScollImageTask(), 10, 10, TimeUnit.SECONDS);
}
Handler hander = new Handler(){
@Override
public void handleMessage(Message msg)
{
imageViewPager.setCurrentItem(curPosition);
}
};
private void initView() {
webViewList = new ArrayList<WebView>();
webViewList.add(CreateWebView("http://172.16.4.85:3000/playlists/play/vPVyxpMVk?kiosk=tv&autofitpanels"));
webViewList.add(CreateWebView("http://172.16.3.46:3000/d/hJM8KmCGz/smdzhuang-dai-kan-ban-p3-tian-zheng-zhuang-dai-ji-p1-p2?orgId=1"));
dotList = new ArrayList<View>();
dotList.add(findViewById(R.id.dot_0));
dotList.add(findViewById(R.id.dot_1));
imageViewPager = (ViewPager) findViewById(R.id.imageViewPager);
}
private WebView CreateWebView(String url){
WebView webView = new WebView(this);
WebSettings s = webView.getSettings();
s.setBuiltInZoomControls(true);
s.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
s.setUseWideViewPort(true);
s.setLoadWithOverviewMode(true);
s.setSavePassword(true);
s.setSaveFormData(true);
s.setJavaScriptEnabled(true);
s.setJavaScriptCanOpenWindowsAutomatically(true);
s.setGeolocationEnabled(true);
s.setDomStorageEnabled(true);
webView.requestFocus();
webView.setScrollBarStyle(0);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
result.confirm();
return true;
}
});
webView.setWebViewClient(new WebViewClient(){
@SuppressWarnings("unused")
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
});
webView.loadUrl(url);
return webView;
}
private class ViewPagerAdapter1 extends PagerAdapter{
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(webViewList.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(webViewList.get(position));
return webViewList.get(position);
}
@Override
public int getCount() {
return webViewList.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
}
private class ScollImageTask implements Runnable{
@Override
public void run() {
curPosition = (curPosition + 1) % webViewList.size();
hander.obtainMessage().sendToTarget();
}
}
}