Android开发Banner实现无线轮滑的方法

来源:互联网 发布:远程访问linux服务器 编辑:程序博客网 时间:2024/04/30 09:27
注意依赖:
implementation 'com.youth.banner:banner:1.4.10'
xml文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.example.day014_zuoyebanner.MainActivity">    <com.youth.banner.Banner        android:id="@+id/banner"        android:layout_width="match_parent"        android:layout_height="200dp"/>    <ListView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:id="@+id/lv"></ListView></LinearLayout>
主代码:
import android.content.Context;import android.os.AsyncTask;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import com.example.day014_zuoyebanner.Utile.NetUtil;import com.google.gson.Gson;import com.nostra13.universalimageloader.core.ImageLoader;import com.youth.banner.Banner;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class MainActivity extends AppCompatActivity {    ArrayList<News.DataBean> list = new ArrayList<>();    public String urldata="http://api.expoon.com/AppNews/getNewsList/type/1/p/1";    String[] imgs={            "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1510669248643&di=fdcc544fe8012b0f5496c1e06293d349&imgtype=0&src=http%3A%2F%2Fpic.qiantucdn.com%2F58pic%2F19%2F64%2F90%2F56fe106233eee_1024.jpg",            "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1510669248639&di=728884e791c20785c02531f7e6e731da&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2F279759ee3d6d55fb26f6d4ef67224f4a21a4ddc3.jpg",            "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1510669297237&di=56861cac8cec4891271ff1a9caf8a852&imgtype=0&src=http%3A%2F%2Fh.hiphotos.baidu.com%2Fzhidao%2Fwh%253D450%252C600%2Fsign%3D78212b4e4aa7d933bffdec77987bfd25%2F48540923dd54564ee5caf563bbde9c82d1584f38.jpg",            "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1510669297236&di=a3ed6411f9456a4f450e66197c3d9cb9&imgtype=0&src=http%3A%2F%2Fimg.pcgames.com.cn%2Fimages%2Fupload%2Fupc%2Ftx%2Fgamephotolib%2F1607%2F21%2Fc1%2F15708251_1469103598002.jpg",            "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2567131626,1221882321&fm=27&gp=0.jpg"    };    private Banner banner;    private ListView listView;    private ImageLoader instance;    private Myadpater md;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        instance = ImageLoader.getInstance();        //获取控件        banner = (Banner) findViewById(R.id.banner);        //配置重写好加载图片的类        banner.setImageLoader(new MyBannerloader());        //传入一个图片集合        banner.setImages(Arrays.asList(imgs));        //开启轮播        banner.start();        listView = (ListView) findViewById(R.id.lv);        //适配器        md = new Myadpater();        listView.setAdapter(md);        //获取网数据的方法        getData();    }    //获取网络数据的方法    public void getData() {        new getAsynctask().execute(urldata);    }    private class getAsynctask extends AsyncTask<String,Void,String> {        @Override        protected String doInBackground(String... strings) {            return NetUtil.getNetJson(strings[0]);        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Gson gson = new Gson();            News news = gson.fromJson(s, News.class);            List<News.DataBean> data = news.getData();            list.addAll(data);            //刷新适配器            md.notifyDataSetChanged();        }    }    //适配器    private class Myadpater extends BaseAdapter {        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            if (view == null) {                view = View.inflate(MainActivity.this, R.layout.data, null);            }            TextView textView = view.findViewById(R.id.text);            textView.setText(list.get(i).getNews_title());            ImageView img = view.findViewById(R.id.img);            instance.displayImage(list.get(i).getPic_url(),img);            return view;        }    }    //加载图片的类 注意:实现Banner.Imageloader    private class MyBannerloader extends com.youth.banner.loader.ImageLoader {        @Override        public void displayImage(Context context, Object path, ImageView imageView) {            instance.displayImage((String)path,imageView);        }    }}


原创粉丝点击