1.导入包
compile 'com.youth.banner:banner:1.4.10'
讯享网
2.自定义view
讯享网package com.example.r.rxjavademo; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import com.bumptech.glide.Glide; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import com.youth.banner.Banner; import com.youth.banner.BannerConfig; import com.youth.banner.loader.ImageLoaderInterface; import java.util.ArrayList; import java.util.List; /* * 描述:首页banner图控件 * 文件名:HomeTopViewPageLinarLayout.java * 作者:zw */ public class HomeTopViewPageLinarLayout extends BaseLinearLayout implements View.OnTouchListener { // @ViewInject(R.id.home_banner) private Banner banner; private LinearLayout linear; String[] str=new String[]{"http://f.hiphotos.baidu.com/zhidao/pic/item/09fa513dee707fb571b4fb43166d22df59.jpg", "http://h.hiphotos.baidu.com/zhidao/pic/item/a50f4bfbfbedabda7cfc36afcea2.jpg", "http://c.hiphotos.baidu.com/lvpics/h=800/sign=a504e9258b9348beeac83d1d1/1ad5ad6eddc451daabb0fd5266d.jpg" ,"http://f.hiphotos.baidu.com/baike/c0%3Dbaike60%2C5%2C5%2C60%2C20%3Bt%3Dgif/sign=ee1e8487fae7d62b/fcfaaf51f3deb48fd151a038f11f3a292df5781f.jpg" ,"http://d.hiphotos.baidu.com/zhidao/pic/item/8435e5dde71190ef5542c274cc1b9d16fcfa60db.jpg"}; //资源文件 private List<String> lists = new ArrayList<String>(); List<String> noList; public HomeTopViewPageLinarLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); initView(context); } public HomeTopViewPageLinarLayout(Context context, AttributeSet attrs) { super(context, attrs); initView(context); } public HomeTopViewPageLinarLayout(Context context) { super(context); initView(context); } @Override public boolean onTouch(View v, MotionEvent event) { requestFocus(); return true; } public class GlideImageLoader extends ImageLoader implements ImageLoaderInterface { @Override public void displayImage(Context context, Object path, View imageView) { Glide.with(context).load((String) path).into((ImageView) imageView).onLoadFailed(null, getResources().getDrawable(R.mipmap.banner)); } @Override public View createImageView(Context context) { return null; } } private void initView(final Context context) { mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mInflater.inflate(R.layout.top_image_linear, HomeTopViewPageLinarLayout.this); banner=(Banner) findViewById(R.id.home_banner); linear=(LinearLayout)findViewById(R.id.img_Linear); // x.view().inject(HomeTopViewPageLinarLayout.this); setOnTouchListener(HomeTopViewPageLinarLayout.this); initData(); } private void setData(){ List<String> list= new ArrayList<String>(); for (int i = 0;i<str.length;i++) { list.add(str[i]); } lists.clear(); lists.addAll(list); } private void initData() { setData(); //设置banner样式 /// banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE); // banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR); //设置图片加载器 banner.setImageLoader(new GlideImageLoader()); //设置图片集合 // banner.setDataList(lists); banner.setImages(lists); //设置banner动画效果 // banner.setBannerAnimation(Transformer.Default); //设置标题集合(当banner样式有显示title时) // banner.setBannerTitles(titles); //设置自动轮播,默认为true banner.isAutoPlay(true); banner.setOffscreenPageLimit(lists.size()); //设置轮播时间 banner.setDelayTime(3000); //设置指示器位置(当banner模式中有指示器时) banner.setIndicatorGravity(BannerConfig.CENTER); //banner设置方法全部调用完毕时最后调用 banner.start(); } }
3.布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.r.rxjavademo.HomeTopViewPageLinarLayout android:id="@+id/topView" android:layout_width="match_parent" android:layout_height="200dp"> </com.example.r.rxjavademo.HomeTopViewPageLinarLayout> </LinearLayout>
4.activity
讯享网package com.example.r.rxjavademo; import android.app.Activity; import android.app.ActivityManager; import android.os.Bundle; import android.support.annotation.Nullable; / * @author * @version V1.0 * @Description: * @Email: * @date : 2018/5/4 15:59 */ public class TextActivity extends Activity { private HomeTopViewPageLinarLayout topView; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_text); } }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/125854.html