直播帶貨系統,Android 網路載入圖片實現頁面輪播
阿新 • • 發佈:2021-07-29
直播帶貨系統,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 網路載入圖片實現頁面輪播實現的相關程式碼, 更多內容歡迎關注之後的文章