導航:首頁 > 操作系統 > android動畫倒計時

android動畫倒計時

發布時間:2022-07-09 14:54:14

『壹』 android studio怎麼做倒計時鍾

在代碼左側的灰色條上點一下,整行代碼變紅了就是設置上斷點了 點綠三角右邊帶刺的e才是調試模式,綠三角只是運行不能調試

『貳』 android中怎樣設置倒計時

你好,
首先需要在輸入框中輸入一個秒數,比如:12,然後獲取輸入框中的值,顯示在一個TextView中;點擊「開始倒計時」按鈕,每隔一秒鍾,秒數減1,然後顯示在TextView中;點擊「停止倒計時」按鈕,計時器停止運行,當再次點擊「開始倒計時」按鈕,計時器繼續運行。

『叄』 android studio怎麼實現倒計時

以自動實現KeyEvent.Callback介面為例子啟動AndroidStudio,打開demo工程增加實現KeyEvent.Callback的類使用Alt+Enter快捷鍵把游標定位到介面名按Alt+Enter,並點擊"Implementmethods"菜單項在彈出的「SelectMethodstoImplement」對話框中,點擊OK按鈕這樣就可以實現所有的介面函數了。使用菜單實現介面方法把游標定位到介面名,執行菜單「Code」-「ImplementMethods」在彈出的「SelectMethodstoImplement」對話框中,點擊OK按鈕這樣就可以實現所有的介面函數了

『肆』 Android倒計時怎麼實現

安卓實現同時多個倒計時效果的步驟:
我們首先需要在輸入框中輸入一個秒數,比如:12,然後獲取輸入框中的值,顯示在一個TextView中;
點擊「開始倒計時」按鈕,每隔一秒鍾,秒數減1,然後顯示在TextView中;
點擊「停止倒計時」按鈕,計時器停止運行,當再次點擊「開始倒計時」按鈕,計時器繼續運行。
平時用的每個商品都應該有兩個屬性值,這里叫它deadLine和isOvere吧,表示商品的到期時間和是否到期,那麼倒計時可以考慮這么實現:設置一個主計時器,每隔1秒發出消息告訴GridView現在的時間,GridView的Item獲得這個時間之後就和deadLine比較,如果已經到deadline了,就把數據源中的這項標記成已到期(修改isOvere的值為true);沒到deadline,就計算還差多少時間,顯示到GridView的Item里。

『伍』 android 倒計時器 設計

有三種實現方式:

第一種:通過Timer與TimerTask結合的方式進行實現
第二種:通過Handler與Message方式進行實現
第三種:通過CountdownTimer進行實現
示例
第一種:
timer.schele(task, 1000, 1000); // timeTask ,一秒執行一次,
TimerTask task = new TimerTask() {
@Override
public void run() {
}
}
第二種:
handler.sendMessageDelayed(message, 1000); //1秒後發送消息
final Handler handler = new Handler(){
public void handleMessage(Message msg){ // handle message
switch (msg.what) {
case 1:
recLen--;
if(recLen > 0){ //如果倒計時沒到
Message message = handler.obtainMessage(1);
handler.sendMessageDelayed(message, 1000); // 1秒後發送消息
}
}
super.handleMessage(msg);
}
};
第三種:
new CountdownTimer(30000, 1000) { //30秒倒計時,沒秒執行一次
public void onTick(long millisUntilFinished) { //每秒執行一次進該方法
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() { //倒計時結束。
mTextField.setText("done!");
}
}.start();

『陸』 安卓手機倒計時軟體,可以在安卓桌面顯示的(就像安卓的窗口小部件一樣)

手機暫時不能將倒計時添加至鎖屏或桌面上顯示,但是可以在手機日歷中設置,首先打開手機日歷,然後點擊「+」新建日程,做好文字備注後,點擊最右側倒計時標簽,然後設置開始、結束的提醒時間,就完成倒計時設置。

『柒』 android中怎麼實現倒計時怎麼按照小時分鍾

Android實現計時與倒計時的五種方法:

方法一
Handler與Message(不用TimerTask)

public class timerTask extends Activity{
private int recLen = 11;
private TextView txtView;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.timertask);
txtView = (TextView)findViewById(R.id.txttime);

Message message = handler.obtainMessage(1); // Message
handler.sendMessageDelayed(message, 1000);
}

final Handler handler = new Handler(){

public void handleMessage(Message msg){ // handle message
switch (msg.what) {
case 1:
recLen--;
txtView.setText("" + recLen);

if(recLen > 0){
Message message = handler.obtainMessage(1);
handler.sendMessageDelayed(message, 1000); // send message
}else{
txtView.setVisibility(View.GONE);
}
}

super.handleMessage(msg);
}
};
}
linux

方法二
Handler與Thread(不佔用UI線程)

public class timerTask extends Activity{
private int recLen = 0;
private TextView txtView;

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

setContentView(R.layout.timertask);
txtView = (TextView)findViewById(R.id.txttime);

new Thread(new MyThread()).start(); // start thread
}

final Handler handler = new Handler(){ // handle
public void handleMessage(Message msg){
switch (msg.what) {
case 1:
recLen++;
txtView.setText("" + recLen);
}
super.handleMessage(msg);
}
};

public class MyThread implements Runnable{ // thread
@Override
public void run(){
while(true){
try{
Thread.sleep(1000); // sleep 1000ms
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}catch (Exception e) {
}
}
}
}
}

方法三
Timer與TimerTask(Java實現)

public class timerTask extends Activity{

private int recLen = 11;
private TextView txtView;
Timer timer = new Timer();

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

setContentView(R.layout.timertask);
txtView = (TextView)findViewById(R.id.txttime);

timer.schele(task, 1000, 1000); // timeTask
}

TimerTask task = new TimerTask() {
@Override
public void run() {

runOnUiThread(new Runnable() { // UI thread
@Override
public void run() {
recLen--;
txtView.setText(""+recLen);
if(recLen < 0){
timer.cancel();
txtView.setVisibility(View.GONE);
}
}
});
}
};
}
方法四
TimerTask與Handler(不用Timer的改進型)

public class timerTask extends Activity{
private int recLen = 11;
private TextView txtView;
Timer timer = new Timer();

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

setContentView(R.layout.timertask);
txtView = (TextView)findViewById(R.id.txttime);

timer.schele(task, 1000, 1000); // timeTask
}

final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg){
switch (msg.what) {
case 1:
txtView.setText(""+recLen);
if(recLen < 0){
timer.cancel();
txtView.setVisibility(View.GONE);
}
}
}
};

TimerTask task = new TimerTask() {
@Override
public void run() {
recLen--;
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
};
}
方法五
Handler與Runnable(最簡單型)

public class timerTask extends Activity{
private int recLen = 0;
private TextView txtView;

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

setContentView(R.layout.timertask);
txtView = (TextView)findViewById(R.id.txttime);

handler.postDelayed(runnable, 1000);
}

Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
recLen++;
txtView.setText("" + recLen);
handler.postDelayed(this, 1000);
}
};
}
計時與倒計時

方法1,方法2和方法3,都是倒計時

方法4,方法5,都是計時

計時和倒計時,都可使用上述方法實現(代碼稍加改動)

UI線程比較

方法1,方法2和方法3,都是在UI線程實現的計時;

方法4和方法5,是另開Runnable線程實現計時

實現方式比較

方法1,採用的是Java實現,即Timer和TimerTask方式;

其它四種方法,都採用了Handler消息處理

推薦使用

如果對UI線程交互要求不很高,可以選擇方法2和方法3

如果考慮到UI線程阻塞,嚴重影響到用戶體驗,推薦使用方法4,另起線程單獨用於計時和其它的邏輯處理

方法5,綜合了前幾種方法的優點,是最簡的

『捌』 Android 開發弄一個倒計時的界面

用SurfaceView 做的一個倒計時的界面:
public class CountDownView extends SurfaceView implements Callback, Runnable{
//
private SurfaceHolder sfh;
//畫布
private Canvas canvas;
//線程是否開起的標識
private boolean flag;

//背景畫筆
Paint backgroundPaintpaint;
//繪制數字的畫筆
Paint paintText;
//聲明一條線程
private Thread th;
//二級計數器
long timeBox;
//倒計時數字
long time;

public void myDraw()
{
canvas = sfh.lockCanvas();
try {
//二級計數器自加
timeBox++;
if(canvas != null)
{
//繪制背景--全黑
canvas.drawRect(0, 0, this.getWidth(), this.getHeight(), backgroundPaintpaint);
if(timeBox%8 == 0)
{
//50*8 毫秒繪制一個數字
if(time > 0)
{
time--;
}else{time = 9;}

}
canvas.drawText(String.valueOf(time), this.getWidth()/2, this.getHeight()/2+50, paintText);
}
} catch (Exception e) {

}finally
{
sfh.unlockCanvasAndPost(canvas);
}
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
}
public CountDownView(Context context)
{
super(context);
sfh = this.getHolder();
sfh.addCallback(this);
canvas = new Canvas();
time = 9;
//二級計數器
timeBox = 0;
//設置背景常亮
this.setKeepScreenOn(true);
//
}
@Override
public void run()
{
while(flag)
{
long start = System.currentTimeMillis();
myDraw();
long end = System.currentTimeMillis();
try {
if(end - start < 50)
{
Thread.sleep(50 -(end-start));
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
//實例背景畫筆
backgroundPaintpaint = new Paint();
//設置背景畫筆為黑色
backgroundPaintpaint.setColor(Color.BLACK);
//實例數字畫筆
paintText = new Paint();
//設置風格
paintText.setStyle(Paint.Style.STROKE);
//設置居中
paintText.setTextAlign(Paint.Align.CENTER);
//設置著色
paintText.setColor(Color.BLUE);
//設置大小
paintText.setTextSize((float) (38*7.5));

//標識線程開起
flag = true;
//實例線程
th = new Thread(this);
//開起線程
th.start();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
//關閉線程
flag = false;
}
}

程序入口:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//設置全屏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(new CountDownView(this));
}
}

『玖』 android ListView 每一行實現倒計時的效果

解決了沒,用viewholder沒用的,viewholder只優化了載入速度

閱讀全文

與android動畫倒計時相關的資料

熱點內容
溫州直播系統源碼 瀏覽:110
程序員在上海買房 瀏覽:382
生活解壓游戲機 瀏覽:907
季羨林pdf 瀏覽:716
php支付寶介面下載 瀏覽:814
ipad怎麼把app資源庫關了 瀏覽:301
量柱比前一天多源碼 瀏覽:416
電子書app怎麼上傳 瀏覽:66
國家反詐中心app注冊怎麼開啟 瀏覽:804
全波差分傅里葉演算法窗長 瀏覽:41
程序員如何講自己做過的項目 瀏覽:7
程序員要看的書頸椎 瀏覽:946
php文章cms 瀏覽:553
CSS權威指南第三版PDF 瀏覽:496
android怎麼搭建框架 瀏覽:184
正宗溯源碼大燕條一克一般多少錢 瀏覽:917
電腦感染exe文件夾 瀏覽:916
wpsppt怎麼轉pdf格式 瀏覽:88
騰訊文檔在線編輯怎麼添加密碼 瀏覽:880
本地不能訪問伺服器地址 瀏覽:865