亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android線程實現(xiàn)圖片輪播

 更新時間:2016年12月28日 15:05:19   作者:niaonao  
這篇文章主要介紹了Android線程實現(xiàn)圖片輪播,初始化3秒更換一次圖片背景,輪換播放,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、實現(xiàn)效果

本篇文章實現(xiàn)了簡單的圖片輪播,初始化3張資源圖片,初始化3秒更換一次圖片背景,輪換播放。

二、知識點

Thread線程start() 、sleep();handler機(jī)制;Android 控件imageView、setBackgroundResource(id);

還算是較為簡單的,涉及的基本都是基礎(chǔ)知識。

三、基本思路

  1.初始化資源文件

  2.創(chuàng)建一個實例化線程對象 new Thread()

  3.handler 機(jī)制,sendMessage(msg); 來處理線程信息,以改變當(dāng)前顯示資源圖片為下一張

  4.線程設(shè)置睡眠時間,來設(shè)置圖片輪播的時間間隔,

  5.每隔一段時間通過 handler 機(jī)制發(fā)送一次信息來實現(xiàn)圖片資源變換來實現(xiàn)輪播

-->>代碼實現(xiàn):

  (1) layout 布局:就一個ImageView 控件

k1.jpg ,k2.jpg, k3,jpg 是三張圖片

(2)  java 代碼實現(xiàn)對背景圖片的輪播變換操作:

package com.example.ususaltest; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.os.Handler; 
import android.os.Message; 
import android.widget.ImageView; 
 
public class MainActivity extends Activity { 
 
  int i = 1;//變量 
  private ImageView imageView; 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
 
    initView();//加載控件 
    initEvent();//控件操作 
     
  } 
   
  private void initView() { 
    imageView = (ImageView) findViewById(R.id.id_image); 
  } 
   
  private void initEvent(){ 
     
     
    final Handler handler = new Handler(){ 
      @Override 
      public void handleMessage(Message msg) {//接收消息,并處理 
        super.handleMessage(msg); 
        if (msg.what == 1)  
          imageView.setBackgroundResource(R.drawable.k1);//設(shè)置變換后的圖片資源 
        else if (msg.what == 2)  
          imageView.setBackgroundResource(R.drawable.k2); 
        else if (msg.what == 3)  
          imageView.setBackgroundResource(R.drawable.k3); 
        else  
          imageView.setBackgroundResource(R.drawable.k1); 
      } 
    }; 
     
    new Thread(new Runnable() { 
      @Override 
      public void run() { 
        while (true) { 
          try { 
          Thread.sleep(3000);//暫停 3 秒 
        } catch (InterruptedException e) {e.printStackTrace();} 
        Message message = new Message(); 
        message.what = i; 
        handler.sendMessage(message);//發(fā)送消息 
         
        if(i == 3)//3張圖片播放完,重置 
          i = 0; 
         
        i++; 
        } 
      } 
    }).start(); 
  } 
 
} 

(3) 到此已實現(xiàn)圖片輪播效果,但可觀賞度不高,可以適當(dāng)?shù)募右恍﹦赢嬍裁吹?,使圖片轉(zhuǎn)換時更加有動感,動態(tài)的變換,看得到變換的過程,而不是單純的靜態(tài)的變換。

四、拓展延伸 -- 動畫

加上縮放動畫,使圖片輪換時能看到更換過程,動態(tài)化輪播功能

new Thread(new Runnable() { 
      @Override 
      public void run() { 
        while (true) { 
          try { 
          Thread.sleep(3000); 
        } catch (InterruptedException e) {e.printStackTrace();} 
        Message message = new Message(); 
        message.what = i; 
        handler.sendMessage(message);//發(fā)送消息 
        //加上縮放動畫 
        <span style="background-color: rgb(51, 255, 255);">AnimationSet set = new AnimationSet(true); 
        ScaleAnimation scale = new ScaleAnimation(1.5f, 1.0f, 1.5f, 1.0f ,Animation.RELATIVE_TO_SELF, 0.5f ,Animation.RELATIVE_TO_SELF, 0.5f); 
        scale.setDuration(500); 
        set.addAnimation(scale); 
        imageView.setAnimation(set);</span> 
         
        if(i == 3)//3張圖片播放完,重置 
          i = 0; 
         
        i++; 
        } 
      } 
    }).start(); 

這樣效果上會好一點,也可以加位移動畫,使換圖片時,讓圖片從右邊進(jìn)來,或左邊進(jìn)來右邊出去之類的動畫。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android 中使用ContentObserver模式獲取短信用正則自動填充驗證碼

    Android 中使用ContentObserver模式獲取短信用正則自動填充驗證碼

    這篇文章主要介紹了Android 中使用ContentObserver模式獲取短信用正則自動填充驗證碼,首先使用了ContentObserver監(jiān)聽短信,然后從短信中用正則的分組去拿到驗證碼,具體實現(xiàn)代碼大家參考下本文
    2017-02-02
  • Android Glide常見使用方式講解

    Android Glide常見使用方式講解

    對于Glide這個加載圖片的框架,很多人都在用,我之前使用的是ImageLoader,最近查資料時,發(fā)現(xiàn)Glide才是Google推薦的加載圖片框架,功能非常強(qiáng)大,而且還有Google專人維護(hù),要知道,ImageLoader已經(jīng)沒人維護(hù)了,除了問題可沒人解答。所以有必要整理一下Glide的使用
    2023-01-01
  • Kotlin高效實現(xiàn) Android ViewPager2 頂部導(dǎo)航之動態(tài)配置與性能優(yōu)化指南(推薦)

    Kotlin高效實現(xiàn) Android ViewPager2 頂部導(dǎo)航之動態(tài)配置與性能優(yōu)化指

    文章介紹了使用AndroidViewPager2和TabLayout實現(xiàn)高效頂部導(dǎo)航的方法,并提供了優(yōu)化指南,包括避免不必要的Fragment實例化、動態(tài)配置頁面、使用Kotlin特性減少冗余代碼等,通過這些優(yōu)化,代碼變得更加高效、簡潔和易于維護(hù),感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • Templates實戰(zhàn)之更優(yōu)雅實現(xiàn)自定義View構(gòu)造方法詳解

    Templates實戰(zhàn)之更優(yōu)雅實現(xiàn)自定義View構(gòu)造方法詳解

    本篇文章介紹如何利用Android Studio提供的Live Templates更優(yōu)雅實現(xiàn)自定義View的構(gòu)造方法,說句人話就是:簡化自定義View構(gòu)造參數(shù)模板代碼的編寫,實現(xiàn)自動生成,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Android Handler消息機(jī)制分析

    Android Handler消息機(jī)制分析

    這篇文章主要介紹了Android Handler消息機(jī)制分析,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Android自定義對話框Dialog的簡單實現(xiàn)

    Android自定義對話框Dialog的簡單實現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Android自定義對話框Dialog的簡單實現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • android 中使用TableLayout實現(xiàn)表單布局效果示例

    android 中使用TableLayout實現(xiàn)表單布局效果示例

    本篇文章主要介紹了android 中使用TableLayout實現(xiàn)表單布局效果示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Android Listview notifyDataSetChanged() 不起作用的解決方案

    Android Listview notifyDataSetChanged() 不起作用的

    這篇文章主要介紹了Android Listview notifyDataSetChanged()不起作用的解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-08-08
  • android中實現(xiàn)背景圖片顏色漸變方法

    android中實現(xiàn)背景圖片顏色漸變方法

    這篇文章主要介紹了android中實現(xiàn)背景圖片顏色漸變方法,本文直接使用配置文件實現(xiàn)了這個效果,需要的朋友可以參考下
    2015-05-05
  • Android提高之ListView實現(xiàn)自適應(yīng)表格的方法

    Android提高之ListView實現(xiàn)自適應(yīng)表格的方法

    這篇文章主要介紹了Android采用ListView實現(xiàn)自適應(yīng)表格的方法,比較實用的功能,需要的朋友可以參考下
    2014-08-08

最新評論