应用开始界面简单倒计时的dialog
2024-10-20 16:44:00
activity_main.xml
下面图片显示的还要在activity_main.xml里面加个TextView
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF85C17E"
tools:context="com.example.lesson7_2_id19_dialog.MainActivity">
</RelativeLayout>
dialog_start.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/timg"> <TextView
android:id="@+id/tv_time"
android:gravity="center"
android:background="@drawable/oval"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3s"
android:layout_alignParentRight="true"
android:layout_margin="20dp"/> </RelativeLayout>
drawable下oval.xml 自定义圆圈
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
<stroke
android:width="1dp"
android:color="#7bf0f2" />
</shape>
java代码:
package com.example.lesson7_2_id19_dialog; import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.annotation.NonNull;
import android.widget.TextView; /**
* Created by Administrator on 2017/3/8 0008.
*/ public class StartDialog extends Dialog {
// 继承dialog重写构造方法
public StartDialog(@NonNull Context context) {
super(context, R.style.DialogStyle); } TextView tv_time; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_start);
// 设置是否可以关闭当前控件
setCancelable(false);
// 找到tv_time控件
tv_time = (TextView) findViewById(R.id.tv_time);
new DownTimer().start();
} // 继承CountDownTimer类
class DownTimer extends CountDownTimer { public DownTimer() {
// 设置时间4秒
super(4000, 1000);
}
// 重写CountDownTimer的两个方法
@Override
public void onTick(long millisUntilFinished) {
tv_time.setText(millisUntilFinished / 1000 + "s");
} @Override
public void onFinish() {
StartDialog.this.dismiss(); } }
}
package com.example.lesson7_2_id19_dialog; import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
StartDialog dialog = new StartDialog(this);
dialog.show();
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
Toast.makeText(MainActivity.this, "应用开始页面关闭", Toast.LENGTH_SHORT).show();
}
});
}
}
最新文章
- JBoss 系列十四:JBoss7/WildFly如何加载外部的文件或properties文件
- Struts2 Action下面的Method调用方法
- Hadoop从伪分布式到真正的分布式
- jedis操作
- Express创建并运行node项目(Jade和EJS模版引擎)
- delphi 仅带下划线的TEdit控件
- this.Invoke和this.BeginInvoke的区别
- angularJS自定义过滤器、服务和指令
- 关于页ASP.NET面布局
- Python读入CIFAR-10数据库
- Spring Boot入门(二):使用Profile实现多环境配置管理&;如何获取配置文件值
- centos 7 IP不能访问nginx Failed connect to 185.239.226.111:80; No route to host解决办法
- ivew定制主题 less ^3.0 时报错 .bezierEasingMixin(); Inline JavaScript is not enabled. Is it set in your options?
- mysql的innodb和myisam的区别和应用场景
- python 全栈开发,Day25(复习,序列化模块json,pickle,shelve,hashlib模块)
- python--Websocket实现, 加密 sha1,base64
- Jquery属性练习
- MQ java 基础编程
- 第1章—Spring之旅—容纳你的Bean
- windows更改MySQL存储路径
热门文章
- FZU2150 Fire Game —— BFS
- POJ1426 Find The Multiple —— BFS
- JSON详解+ C# String.Format格式说明+ C# ListView用法详解 很完整
- receive和process的过程
- 不用打开Eclipse就可以执行的命令
- impdp+network link 跳过expdp直接导入目标库
- codeforces 414A A. Mashmokh and Numbers(素数筛)
- python-day9-进程、线程、协程篇
- vmware实现与windows下的共享文件
- 任务12:Bind读取配置到C#实例