淺談Android的廣告歡迎界面(倒計時)

来源:https://www.cnblogs.com/Mr-stockings/archive/2017/12/27/8127616.html
-Advertisement-
Play Games

前些時候就是別人問我他的android APP怎麼做一個廣告的歡迎界面,就是過幾秒後自動跳轉到主界面的實現。 也就是下麵這種類似的效果。要插什麼廣告的話你就換張圖吧。 那麼我就思考了下,就用了android 的一個動畫類Animation...其實在Android 的API開發文檔上就有的一個東西。 ...


前些時候就是別人問我他的android APP怎麼做一個廣告的歡迎界面,就是過幾秒後自動跳轉到主界面的實現。

也就是下麵這種類似的效果。要插什麼廣告的話你就換張圖吧。

 

那麼我就思考了下,就用了android 的一個動畫類Animation...其實在Android 的API開發文檔上就有的一個東西。自己可以去查下看。就像下麵的這個圖上面的一樣的。也是屬於界面View 下的一個類方法...

 

其實這個東西,怎麼講呢。

咱主要的話還是來一個小白都看的懂的一個教程類的文章吧。

 

第一步的話

咱先開始在咱的項目中新建一個anim的文件夾用來存等會要用到的一些  倒計時 的文字的動態效果的吧。(想想還是截個屏吧,怕有些同志還是看不懂...沒別的意思)

        看到了麽,就是這樣的,在你的Android項目下的存放資源的那個文件夾中新建一個anim文件夾,再新建一個animation_text.xml

的xml文件,待會就知道有啥用了。

 

咱下麵

第二步的話,咱就開始添加內容了。

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <set xmlns:android="http://schemas.android.com/apk/res/android" >
 3 
 4     <alpha
 5         android:duration="1000"
 6         android:fromAlpha="0.0"
 7         android:toAlpha="1.0" />
 8 
 9     <scale
10         android:duration="800"
11         android:fromXScale="1.5"
12         android:fromYScale="1.5"
13         android:pivotX="50%"
14         android:pivotY="50%"
15         android:toXScale="1.0"
16         android:toYScale="1.0" />
17 
18 </set>

 上面的效果的話,如果是不知道這些屬性是什麼意思的話那你可以百度的,我這一一講的話就感覺有點啰嗦的了。

咱還是講正題吧,那上面這些寫的有什麼用呢。就看下麵了,那麼我們下麵就得開始把那個界面佈局出來了吧,然後我們下麵就開始吧,

做一個類似我上面的界面吧。咱就用FrameLayout佈局了,如果知道是什麼佈局方式的話,我覺得應該看的懂吧。

 1 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:background="@drawable/page24"
 6     tools:context="${relativePackage}.${activityClass}" >
 7 
 8     <LinearLayout
 9         android:layout_width="wrap_content"
10         android:layout_height="wrap_content"
11         android:layout_gravity="right"
12         android:orientation="horizontal" >
13 
14         <TextView
15             android:layout_width="wrap_content"
16             android:layout_height="wrap_content"
17             android:layout_gravity="right"
18             android:text="廣告倒計時:"
19             android:textColor="#ffffff"
20             android:textSize="20sp" />
21 
22         <TextView
23             android:id="@+id/textView"
24             android:layout_width="wrap_content"
25             android:layout_height="wrap_content"
26             android:layout_gravity="right"
27             android:text="5"
28             android:textColor="#ffffff"
29             android:textSize="20sp" />
30 
31         <TextView
32             android:layout_width="wrap_content"
33             android:layout_height="wrap_content"
34             android:layout_gravity="right"
35             android:text="s"
36             android:textColor="#ffffff"
37             android:textSize="20sp" />
38     </LinearLayout>
39 
40 </FrameLayout>

下麵的話咱就開始要寫怎麼在app內部實現的方法了吧,這就到了我們的Java的程式天地來了。

這時候我們就在項目下的src文件下的包裡面寫上你的Java文件吧。咱慢慢來,別急。

 1 /**
 2  * 
 3  * 1.聲明界面
 4  * 2.定義變數
 5  * 3.調用類Animation
 6  * 4.寫方法讓它動起來
 7  * @author Rain
 8  *
 9  */
10 public class WelcomeActivity extends Activity{
11 
12      // 聲明控制項對象
13     private TextView textView;
14     //聲明時間有多少;
15     private int count = 5;
16     private Animation animation;
17 
18     @Override
19     protected void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         // 下麵的話就是去除標題的方法
22         requestWindowFeature(Window.FEATURE_NO_TITLE);
23         setContentView(R.layout.activity_welcome);
24         // 初始化控制項對象textView
25         textView = (TextView) findViewById(R.id.textView);
26         animation = AnimationUtils.loadAnimation(this, R.anim.animation_text);
27         handler.sendEmptyMessageDelayed(0, 1000);
28     
29 
30     }
31 
32     //咱在寫一個計算Welcome界面的廣告時間結束後進入主界面的方法
33     private int getCount() {
34         count--;
35         if (count == 0) {
36             Intent intent = new Intent(this, MainActivity.class);
37             startActivity(intent);
38             finish();
39         }
40         return count;
41     }
42 
43     //進行一個消息的處理
44     @SuppressLint("HandlerLeak")
45     private Handler handler = new Handler() {
46         public void handleMessage(android.os.Message msg) {
47             if (msg.what == 0) {
48                 textView.setText(getCount()+"");
49                 handler.sendEmptyMessageDelayed(0, 1000);
50                 animation.reset();
51                 textView.startAnimation(animation);
52             }
53 
54         };
55 
56     };
57 
58 }

用的時候可得註意導入下包哈。

這樣一個會自動跳轉到主界面的廣告界面就完成了。

謝謝觀看。大家可以暢所欲言,發表看法,吾等虛心接受的。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一些mongodb學習的相關知識,記錄下來以便下次查看使用 參考:https://docs.mongodb.com/manual/reference/operator/ http://www.runoob.com/mongodb/mongodb-tutorial.html https://code. ...
  • 1.下載mysql版本 下載最新版本:https://www.mysql.com/downloads/ 下載歷史版本:https://downloads.mysql.com/archives/community/ 2.上傳下載的mysql軟體到/usr/local/src 3.解壓mysql軟體到/ ...
  • 1. 前言 SQL Server一般是在安裝過程中進行相關的配置,安裝完成之後,再去修改有一些配置就比較麻煩,比如更改SQL Server實例級別的排序規則。但在Linux下,安裝過程並沒有很多可以配置的步驟,安裝步驟變得很簡單,更多的配置可以通過/opt/mssql/bin/mssql-conf工 ...
  • [20171227]表的FULL_HASH_VALUE值的計算.txt--//sql_id的計算是使用MD5演算法進行哈希,生成一個128位的Hash Value,其中低32位作為HASH VALUE顯示,SQL_ID則取了後64位。--//實際上sql_id使用32進位表示,hash_value使用 ...
  • presto支持jdbc驅動連接,從外表來看,和一般的關係型資料庫連接相似。 目前發現有兩個包支持直接使用,分別是: pyhive : https://github.com/dropbox/PyHive presto python client : https://github.com/presto ...
  • 2017-12-27,MYSQL的存儲調用時出現了“The user specified as a definer (”test@’%') does not exist”的問題。 網上查過後,都是提示用戶許可權不夠,如:http://blog.handone.com/index.php/archive ...
  • 來源:https://segmentfault.com/a/1190000000473085 假設一高頻查詢如下SELECT * FROM user WHERE area='amoy' AND sex=0 ORDER BY last_login DESC limit 30;如何建立索引?描述考慮的過 ...
  • 說明 表函數可接受查詢語句或游標作為輸入參數,並可輸出多行數據。 該函數可以平行執行,並可持續輸出數據流,被稱作管道式輸出。 應用表函數可將數據轉換分階段處理,並省去中間結果的存儲和緩衝表。 優勢 1.一些複雜的公用信息,但是建立視圖又實現不了,此時可以考慮使用管道輸出。 2.涉及運算較多,寫個簡單 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...