直播系統平臺搭建,大屏倒數計時動畫效果
直播系統平臺搭建,大屏倒數計時動畫效果實現的相關程式碼
第一步:製作圓形背景圖
在android中,我們會用shape定義各種各樣的形狀,它能實現漸變色、虛線/分割線、邊框、半透明、半透明陰影效果。圓形背景圖為向量圖,先上程式碼:
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android=" android:shape="oval"> <solid android:color="@color/white" /> <stroke android:width="4dp" android:color="@color/white" /> <padding android:top="1dp" android:left="2dp" android:right="2dp" android:bottom="1dp"/> <size android:width="20dp" android:height="20dp" /> </shape>
解釋
solid 實心填充顏色,十六進位制顏色值,這裡設定了60%半透明度白色的效果
stroke 描邊,外邊框,可以設定顏色和寬度.同時,該屬性也可以用來畫虛線,通過設定dashGap和dashWidth兩個屬性控制虛線間隔和長度
padding 內容距離邊框的值
size 指定大小,shape為oval模式時,width和height相等時,代表正圓,否則de為橢圓
第二步:規劃佈局檔案,設定TextView的背景
按照文初看到的效果圖,佈局檔案中需要有一個可點選的Button,和一個可以變更數字的TextView。
首先,隱藏TextView的顯示,只顯示一個“倒數計時開始”的Button。
點選“倒數計時開始”後,將Button隱藏,將TextView顯示出來。
程式碼羅列如下:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/gray" android:gravity="center" tools:context="com.example.server.testapplication.MainActivity"> <TextView android:id="@+id/count_text" android:layout_width="350dp" android:layout_height="350dp" android:background="@drawable/circle" android:gravity="center" android:textColor="@color/black" android:textSize="240sp" android:visibility="gone" /> <Button android:id="@+id/count_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="倒數計時開始..." /> </RelativeLayout>
第三步:實現程式碼邏輯,用Handler實現動態更新TextView內容
初始化控制元件
設定Button的監聽方式為內部類監聽,原理是通過子執行緒傳送訊息,在主執行緒中更新UI。
定義Handler內部類用於接收並處理來自子執行緒的訊息,並判斷當前的count值若大於0,繼續延時傳送訊息,直到數字變為0.
package com.example.server.testapplication; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { private static final int START_COUNTING = 1; private static final int COUNT_NUMBER = 10; private Button mCountDown; private TextView mStartCount; private MyHandler mHandler = new MyHandler(); private ButtonListener mButtonListener = new ButtonListener(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { mCountDown = (Button) findViewById(R.id.count_button); mCountDown.setOnClickListener(mButtonListener); mStartCount = (TextView) findViewById(R.id.count_text); } private class ButtonListener implements View.OnClickListener { @Override public void onClick(View v) { mCountDown.setVisibility(View.GONE); mStartCount.setVisibility(View.VISIBLE); Message msg = mHandler.obtainMessage(); msg.what = START_COUNTING; msg.obj = COUNT_NUMBER; mHandler.sendMessageDelayed(msg, 10); } } private class MyHandler extends Handler { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case START_COUNTING: int count = (int) msg.obj; mStartCount.setText(count + ""); if (count > 0) { Message msg1 = obtainMessage(); msg1.what = START_COUNTING; msg1.obj = count - 1; sendMessageDelayed(msg1, 500); } break; default: break; } } }; }
以上就是 直播系統平臺搭建,大屏倒數計時動畫效果實現的相關程式碼,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2837558/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播平臺搭建,計時和倒數計時功能的分別實現
- 視訊直播系統原始碼,倒數計時顯示,商品秒殺倒數計時原始碼
- 動畫合成小技巧!CSS 實現動感的倒數計時效果動畫CSS
- CSS3動畫實現3D倒數計時效果CSSS3動畫3D
- 線上直播系統原始碼,預設倒數計時,自定義輸入時間倒數計時原始碼
- 直播系統原始碼,實現倒數計時,定時任務原始碼
- Axure之倒數計時效果
- jQuery 倒數計時效果詳解jQuery
- 直播電商原始碼,商品出售倒數計時的定時器效果原始碼定時器
- 直播平臺搭建,自定義氣泡效果(BubbleView)View
- 直播系統原始碼--搭建直播平臺的奠基石原始碼
- 直播系統app原始碼,自定義可以暫停的倒數計時APP原始碼
- 直播商城系統原始碼,js製作倒數計時,天,小時,分,秒原始碼JS
- 直播平臺搭建,自定義View實現loading動畫載入View動畫
- 在搭建直播平臺時要以使用者為中心,解決直播系統“通病”
- 線上直播系統原始碼,開屏首頁廣告點選跳過按鈕跳過倒數計時原始碼
- 直播app系統原始碼,圖片Loading旋轉動畫效果APP原始碼動畫
- 如何搭建直播平臺?直播平臺搭建需要注意什麼?
- js自動倒數計時程式碼,倒數計時完畢時自動停止迴圈JS
- Android View篇之啟動頁倒數計時動畫的實現AndroidView動畫
- 直播系統平臺搭建,控制鍵盤彈出收縮
- 直播系統平臺搭建適配Android WebView 深色主題AndroidWebView
- 直播系統平臺搭建,DataBinding自定義雙向繫結
- 直播系統程式碼,點選產生動畫效果並移動的特效動畫特效
- 商品搶購倒數計時效果程式碼例項
- 倒數計時
- 線上教育直播系統開發_教育行業線上直播平臺搭建行業
- Flutter “孔雀開屏”的動畫效果Flutter動畫
- 手機直播原始碼,驗證碼自動讀秒倒數計時原始碼
- 直播平臺搭建原始碼,bootstrap實現圖片輪播效果原始碼boot
- 警務大資料視覺化大屏管理平臺開發,公安合成作戰系統搭建大資料視覺化
- 搭建直播平臺,情景模式介面設計模式
- 直播小程式原始碼,vue實現時間倒數計時原始碼Vue
- NFT數字藏品交易系統開發平臺搭建
- js實現活動倒數計時JS
- js 活動倒數計時詳解JS
- 直播平臺原始碼,數字化大屏地圖輪播的實現echarts原始碼地圖Echarts
- JavaScript倒數計時JavaScript