Android實現(xiàn)圓圈倒計時
更新時間:2022年08月09日 11:01:52 作者:零下37度5
這篇文章主要為大家詳細介紹了Android實現(xiàn)圓圈倒計時,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Android實現(xiàn)圓圈倒計時的具體代碼,供大家參考,具體內容如下
1. 顯示效果如下

2. 首先是創(chuàng)建shape的xml文件
在res/drawable目錄下創(chuàng)建 shape_round_textview.xml文件,文件代碼如下:
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" ? ? android:shape="oval" ? ? android:useLevel="false"> ? ? <solid ? ? ? ? android:color="#FFFCFC" /> ? ? <stroke ? ? ? ? android:width="1dp" ? ? ? ? android:color="#7468BE" ? ? /> ? ? <size ? ? ? ? android:width="50dp" ? ? ? ? android:height="50dp" ? ? /> </shape>
3.然后就是在Layout布局文件里面使用定義的shape
我自己做的在一個橫向布局的LinearLayout里面把倒計時放到最右邊(中間TextView的目的是把倒計時的TextView擠到最右邊去 )顯示如圖:

布局文件代碼:
<LinearLayout ? ? ? ? android:layout_marginTop="20dp" ? ? ? ? android:orientation="horizontal" ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="wrap_content"> ? ? ? ? <ImageButton ? ? ? ? ? ? android:layout_marginLeft="10dp" ? ? ? ? ? ? android:id="@+id/go_back" ? ? ? ? ? ? android:layout_width="36dp" ? ? ? ? ? ? android:layout_height="36dp" ? ? ? ? ? ? android:background="@drawable/go_back" ? ? ? ? ? ? /> ? ? ? ? <TextView ? ? ? ? ? ? android:layout_width="0dp" ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? android:layout_weight="1" ? ? ? ? ? ? /> ? ? ? ? <TextView ? ? ? ? ? ? android:layout_marginRight="10dp" ? ? ? ? ? ? android:id="@+id/time_down" ? ? ? ? ? ? android:layout_width="50dp" ? ? ? ? ? ? android:layout_height="50dp" ? ? ? ? ? ? android:text="50" ? ? ? ? ? ? android:textSize="15sp" ? ? ? ? ? ? android:gravity="center" ? ? ? ? ? ? android:background="@drawable/shape_round_textview" ? ? ? ? ? ? /> </LinearLayout>
4.最后是java文件里的代碼
public class StateModeActivity extends AppCompatActivity {
? ? private TextView tx_time;
? ??
? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? //隱藏默認標題欄
? ? ? ? if (getSupportActionBar() != null){
? ? ? ? ? ? getSupportActionBar().hide();
? ? ? ? }
? ? ? ? setContentView(R.layout.activity_state_mode);
? ? ? ??
? ? ? ? tx_time = findViewById(R.id.time_down);
? ? ? ? //倒計時顯示
? ? ? ? ValueAnimator animator = ValueAnimator.ofInt(50,0);
? ? ? ? //設置時間
? ? ? ? animator.setDuration(50000);
? ? ? ? //均勻顯示
? ? ? ? animator.setInterpolator(new LinearInterpolator());
? ? ? ? animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onAnimationUpdate(ValueAnimator animation) {
? ? ? ? ? ? ? ? int value = (Integer) animation.getAnimatedValue();
? ? ? ? ? ? ? ? tx_time.setText(value+"");
? ? ? ? ? ? ? ? if(value==0)
? ? ? ? ? ? ? ? ? ? startActivity(new Intent(StateModeActivity.this,MainActivity.class));
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? animator.start();
? ? ? ? }以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
android使用NotificationListenerService監(jiān)聽通知欄消息
本篇文章主要介紹了android使用NotificationListenerService監(jiān)聽通知欄消息,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-01-01

