91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中怎么利用ImageSlider實現一個炫酷輪播廣告效果

發布時間:2021-06-26 17:12:12 來源:億速云 閱讀:140 作者:Leah 欄目:移動開發

這期內容當中小編將會給大家帶來有關Android中怎么利用ImageSlider實現一個炫酷輪播廣告效果,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1. Gradle 依賴配置

我們這里使用的是 android Studio 2.2.3 開發工具,Eclipse 引用第三方庫的具體方法可以參考AndroidImageSlider 源碼說明。在 build.gradle 文件中集成第三方庫的依賴。

xml
dependencies {
 compile 'com.daimajia.slider:library:1.1.5@aar'
 compile 'com.squareup.picasso:picasso:2.5.2'
 compile 'com.nineoldandroids:library:2.4.0'
 compile 'com.android.support:support-v4:25.2.0'}

2. 添加權限

使用該框架還需要添加相應的權限,分別為網絡權限和讀文件的權限。

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

3. 添加到布局 Layout 中

將 SliderLayout 添加到相應的布局文件 Layout 中。

xml
<com.daimajia.slider.library.SliderLayout
 android:id="@+id/home_slider_ad"
 android:layout_width="match_parent"
 android:layout_height="@dimen/large_height"></com.daimajia.slider.library.SliderLayout>

如果需要自定義的 PagerIndicator 的話,可以自定義,當然也可以使用該框架自帶的,這里是自定義 PagerIndicator 的源碼。

xml
<com.daimajia.slider.library.Indicators.PagerIndicator
  android:id="@+id/home_indicator_ad"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:gravity="center"
  custom:selected_color="#0095BF"
  custom:unselected_color="#55333333"
  custom:selected_drawable="@drawable/bird"
  custom:shape="oval"
  custom:selected_padding_left="5dp"
  custom:selected_padding_right="5dp"
  custom:unselected_padding_left="5dp"
  custom:unselected_padding_right="5dp"
  android:layout_centerHorizontal="true"
  android:layout_alignParentBottom="true"
  custom:selected_width="6dp"
  custom:selected_height="6dp"
  custom:unselected_width="6dp"
  custom:unselected_height="6dp"
  android:layout_marginBottom="20dp">
 </com.daimajia.slider.library.Indicators.PagerIndicator>

4. 在 Activity/Fragment 中定義以及配置 SliderLayout

首先就是要獲取到 SliderLayout 控件以及自定義的 Indicator。

xml
mSlider = (SliderLayout) view.findViewById(R.id.home_slider_ad);
indicator =(PagerIndicator)view.findViewById(R.id.home_indicator_ad);

然后就是準備好測試的數據,我在這里定義了一個實體類 BannerInfo,包括了圖片 imgUrl 和描述內容 name。定義好實體類后就開始設置相應的測試數據并且添加到滾動圖片列表 listBanner 中。

xml
private void getBannerData() {
 BannerInfo bannerInfo_01 = new BannerInfo();
 bannerInfo_01.setName("音箱狂歡");
 bannerInfo_01.setImgUrl("http://7mno4h.com2.z0.glb.qiniucdn.com/5608f3b5Nc8d90151.jpg");
 BannerInfo bannerInfo_02 = new BannerInfo();
 bannerInfo_02.setName("手機國慶禮");
 bannerInfo_02.setImgUrl("http://7mno4h.com2.z0.glb.qiniucdn.com/5608eb8cN9b9a0a39.jpg");
 BannerInfo bannerInfo_03 = new BannerInfo();
 bannerInfo_03.setName("IT生活");
 bannerInfo_03.setImgUrl("http://7mno4h.com2.z0.glb.qiniucdn.com/5608cae6Nbb1a39f9.jpg");
 listBanner.add(bannerInfo_01);
 listBanner.add(bannerInfo_02);
 listBanner.add(bannerInfo_03);
 }

接下來就是要配置 SliderLayout 的相關屬性了,添加自定義的 Indicator,設置動畫效果,添加圖片列表數據以及設置監聽事件

xml
private void initSlider() {
 if (listBanner != null) {
  for (BannerInfo bannerInfo : listBanner) {
  TextSliderView textSliderView = new TextSliderView(this.getActivity());
  textSliderView.image(bannerInfo.getImgUrl())
   .description(bannerInfo.getName())
   .setScaleType(BaseSliderView.ScaleType.CenterCrop)
   .setOnSliderClickListener(this);
  mSlider.addSlider(textSliderView);
  }
 }

 mSlider.setCustomIndicator(indicator);
 mSlider.setCustomAnimation(new DescriptionAnimation());
 mSlider.setPresetTransformer(SliderLayout.Transformer.RotateUp);
 mSlider.setDuration(3000);
 mSlider.addOnPageChangeListener(this);
 }

5. 在onStop() 中停止 SliderLayout 滾動

在 Activity/Fragment 生命周期結束前,需要先停止圖片的滾動,防止出現內存溢出等問題。

xml
@Override
 public void onStop() {
 // To prevent a memory leak on rotation, make sure to call stopAutoCycle() on the slider before activity or fragment is destroyed
 mSlider.stopAutoCycle();
 super.onStop();
 }

上述就是小編為大家分享的Android中怎么利用ImageSlider實現一個炫酷輪播廣告效果了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绵竹市| 衡阳县| 瑞安市| 凉山| 英吉沙县| 措美县| 普定县| 临澧县| 崇义县| 新宾| 梅州市| 乌审旗| 昔阳县| 金塔县| 九寨沟县| 无棣县| 且末县| 虹口区| 玛曲县| 托克托县| 肇州县| 贵港市| 定结县| 磴口县| 铜山县| 长春市| 新余市| 瓦房店市| 沁水县| 朝阳县| 鹿泉市| 巴林右旗| 咸阳市| 德江县| 响水县| 若羌县| 扶绥县| 湘西| 怀化市| 历史| 京山县|