Android圆圈倒计时
零下37度5 人气:01. 显示效果如下
2. 首先是创建shape的xml文件
在res/drawable目录下创建 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(); }
加载全部内容