自定义---轮播

//首先创建布局和自定义控件


<android.support.v4.view.ViewPager
    android:id="@+id/vp"
    android:layout_width="match_parent"
    android:layout_height="200dp"></android.support.v4.view.ViewPager>


//创建自定义banner类


package com.example.mr.weekonework;

import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;

import java.util.List;

/**
 * Created by Mr赵 on 2017/12/3.
 */

public class AutoBanner extends FrameLayout {

    private ViewPager vp;
//创建handler
   Handler handler=new Handler(){
       @Override
       public void handleMessage(Message msg) {
           super.handleMessage(msg);
             if(msg.what==0){
                 vp.setCurrentItem(vp.getCurrentItem()+1);
                 handler.sendEmptyMessageDelayed(0,2000);
             }
       }
   };


    public AutoBanner(@NonNull Context context) {
        super(context);

    }
    public AutoBanner(@NonNull Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        info();
    }

    public AutoBanner(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
//实例化一个布局
    private void info() {

        View view = View.inflate(getContext(), R.layout.banner_view, this);
        vp = view.findViewById(R.id.vp);
    }
//创建加载图片方法--参数一图片的集合  参数二调取接口
    public void imag(List<String> li,Jiekou jiekou){
        //开启适配器
        pageAdaptter pageAdaptter = new pageAdaptter(li, getContext(),jiekou);
        vp.setAdapter(pageAdaptter);
    }
//创建handler轮播的方法
  public void lun(){
        handler.sendEmptyMessageDelayed(0,2000);
  }


}
 
 
//Activity
 
package com.example.mr.weekonework;

import android.content.Context;
import android.content.Intent;
import android.os.PersistableBundle;
import android.os.StrictMode;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

import com.google.gson.Gson;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class MainActivity extends AppCompatActivity {

    private List<Datadatebean.DataBean> data;
    private List<String>   li = new ArrayList<>();;
    private AutoBanner banner;
     
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        banner = findViewById(R.id.banner);
        banner.lun();

        //创建点击事件

        info();
    }
            //报错解决方法
    @Override
    public View onCreateView(String name, Context context, AttributeSet attrs) {
        if (android.os.Build.VERSION.SDK_INT > 9) {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }

        return super.onCreateView(name, context, attrs);
    }

    private void info() {
        OkHttpClient okHttpClient = new OkHttpClient();
        //创建请求方式
        Request build = new Request.Builder().url("http://120.27.23.105/ad/getAd").build();
        Call call = okHttpClient.newCall(build);
        call.enqueue(new Callback() {



            @Override
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();
            }

            @Override
            public void onResponse(Call call, final Response response) throws IOException {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        String string = null;
                        try {
                            string = response.body().string();
                            Gson gson = new Gson();
                            Datadatebean js = gson.fromJson(string, Datadatebean.class);
                            data = js.getData();

                            for (int i=0;i<data.size();i++){
                                String icon = data.get(i).getIcon();
                                li.add(icon);
                            }
                            //对象调个方法
                             banner.imag(li, new Jiekou() {
                                 @Override
                                 public void onclick(int i) {
                                     if(data.get(i).getType()==0){
                                         Intent intent = new Intent(MainActivity.this,XiangQingActivity.class);
                                             intent.putExtra("url",data.get(i).getUrl());
                                               startActivity(intent);

                                     }else if(data.get(i).getType()==1){
                                         Toast.makeText(MainActivity.this,"这是详情页面",Toast.LENGTH_SHORT).show();
                                     }
                                 }
                             });

                        } catch (IOException e) {
                            e.printStackTrace();
                        }

                    }
                });



            }
        });




    }

}
 
 
//转入的Webview
package com.example.mr.weekonework;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class XiangQingActivity extends AppCompatActivity {

    private WebView wb;
    private Intent intent;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_xiang_qing);
          //获取控件
        wb = findViewById(R.id.wb);
        intent = getIntent();
        String url = intent.getStringExtra("url");
        wb.loadUrl(url);
        WebSettings settings = wb.getSettings();
        settings.setJavaScriptEnabled(true);


    }
}
 
 
 
 
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值