1. 程式人生 > 其它 >直播帶貨系統,Android 網路載入圖片實現頁面輪播

直播帶貨系統,Android 網路載入圖片實現頁面輪播

直播帶貨系統,Android 網路載入圖片實現頁面輪播實現的相關程式碼
加入依賴:

```cpp
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
```

頁面佈局:

```cpp
<?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="wrap_content" tools:context=".Banner.BannnerMainActivity"> <com.youth.banner.Banner android:layout_width="match_parent" android:layout_height
="150dp" android:id="@+id/banner"> </com.youth.banner.Banner> </LinearLayout> ```

邏輯功能實現:
實現網路載入圖片:

```cpp
package com.example.myapplication8.Banner;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.Toast;

import com.bumptech.glide.Glide;
import com.example.myapplication8.R;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
import com.youth.banner.listener.OnBannerListener;
import com.youth.banner.loader.ImageLoader;

import java.util.ArrayList;

public class BannnerMainActivity extends AppCompatActivity implements OnBannerListener { private Banner mBanner; private ArrayList list_path; private ArrayList list_title; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_bannner_main); intiView(); } private void intiView() { mBanner = findViewById(R.id.banner); // 放圖片的集合 list_path = new ArrayList<>(); // 放標題的集合 list_title = new ArrayList<>(); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic21363tj30ci08ct96.jpg"); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic259ohaj30ci08c74r.jpg"); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2b16zuj30ci08cwf4.jpg"); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg"); /* list_path.add(R.mipmap.b1); list_path.add(R.mipmap.b2); list_path.add(R.mipmap.b3); list_path.add(R.mipmap.b4);*/ list_title.add("何以解憂"); list_title.add("唯有暴富"); list_title.add("熱愛生活"); list_title.add("一切順利"); // 設定樣式 mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE); // 設定圖片載入器,圖片在載入器下方 mBanner.setImageLoader(new MyLoader()); // 設定圖片網址或者地址 mBanner.setImages(list_path); // 設定輪播動畫 mBanner.setBannerAnimation(Transformer.Default); // 設定輪播標題的集合 mBanner.setBannerTitles(list_title); // 設定輪播間隔 mBanner.setDelayTime(3000); // 設定自動輪播,預設是 mBanner.isAutoPlay(true); // 設定指示器的位置:小點點 左中右 mBanner.setIndicatorGravity(BannerConfig.CENTER) // 以上內容都可以寫成鏈式佈局,這是輪播的監聽,比較重要,方法寫在下面 .setOnBannerListener(this) // 必須最後呼叫start方法,啟動輪播圖 .start(); } /** * 輪播監聽 * * @param position */ @Override public void OnBannerClick(int position) { Toast.makeText(this, "你點選了第:"+(position+1)+"張輪播", Toast.LENGTH_SHORT).show(); } private class MyLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context.getApplicationContext()) .load((String) path) .into(imageView); } } } ```

本地載入:

```cpp
package com.example.myapplication8.Banner;

import android.content.Context;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.bumptech.glide.Glide;
import com.example.myapplication8.R;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
import com.youth.banner.listener.OnBannerListener;
import com.youth.banner.loader.ImageLoader;

import java.util.ArrayList;

public class BannerMain2Activity extends AppCompatActivity implements OnBannerListener {

private Banner mBanner; //banner元件
private ArrayList imgList; // 圖片資源
private ArrayList titleList; //輪播標題

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bannner_main);
initView();
}

private void initView() {
// 初始化兩個集合,圖片資源可以是本地,也可以是網路載入
imgList = new ArrayList<>();
imgList.add(R.mipmap.b1);
imgList.add(R.mipmap.b2);
imgList.add(R.mipmap.b3);
imgList.add(R.mipmap.b4);
titleList = new ArrayList<>();
titleList.add("我是banner1");
titleList.add("我是banner2");
titleList.add("我是banner3");
titleList.add("我是banner4");

mBanner = (Banner) findViewById(R.id.banner);
// 設定樣式
mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
// 設定圖片載入器,圖片在載入器下方
mBanner.setImageLoader(new MyImageLoader());
// 設定圖片地址
mBanner.setImages(imgList);
// 設定 輪播動畫
mBanner.setBannerAnimation(Transformer.Default);
// 設定 輪播標題的集合
mBanner.setBannerTitles(titleList);
// 設定輪播間隔
mBanner.setDelayTime(3000);
// 設定是否自動輪播
mBanner.isAutoPlay(true);
// 設定指示器的位置
mBanner.setIndicatorGravity(BannerConfig.CENTER)
.setOnBannerListener(this)
.start();

}

/**
* 輪播圖的點選事件
* @param position
*/
@Override
public void OnBannerClick(int position) {
Toast.makeText(this,"你點選了第"+(position+1)+"張輪播圖",Toast.LENGTH_LONG).show();

}

/**
* 重寫圖片載入器
*/
public class MyImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context)
.load(path)
.into(imageView);
}
}
}
```

以上就是直播帶貨系統,Android 網路載入圖片實現頁面輪播實現的相關程式碼, 更多內容歡迎關注之後的文章