前些时候就是别人问我他的android APP怎么做一个广告的欢迎界面,就是过几秒后自动跳转到主界面的实现。
也就是下面这种类似的效果。要插什么广告的话你就换张图吧。
那么我就思考了下,就用了android 的一个动画类Animation...其实在Android 的API开发文档上就有的一个东西。自己可以去查下看。就像下面的这个图上面的一样的。也是属于界面View 下的一个类方法...
其实这个东西,怎么讲呢。
咱主要的话还是来一个小白都看的懂的一个教程类的文章吧。
第一步的话
咱先开始在咱的项目中新建一个anim的文件夹用来存等会要用到的一些 倒计时 的文字的动态效果的吧。(想想还是截个屏吧,怕有些同志还是看不懂...没别的意思)
看到了么,就是这样的,在你的Android项目下的存放资源的那个文件夹中新建一个anim文件夹,再新建一个animation_text.xml
的xml文件,待会就知道有啥用了。
咱下面
第二步的话,咱就开始添加内容了。
1 <?xml version="1.0" encoding="utf-8"?>
2
3
4
6 android:fromAlpha="0.0"
7 android:toAlpha="1.0" />
8
9
11 android:fromXScale="1.5"
12 android:fromYScale="1.5"
13 android:pivotX="50%"
14 android:pivotY="50%"
15 android:toXScale="1.0"
16 android:toYScale="1.0" />
17
18
上面的效果的话,如果是不知道这些属性是什么意思的话那你可以百度的,我这一一讲的话就感觉有点啰嗦的了。
咱还是讲正题吧,那上面这些写的有什么用呢。就看下面了,那么我们下面就得开始把那个界面布局出来了吧,然后我们下面就开始吧,
做一个类似我上面的界面吧。咱就用FrameLayout布局了,如果知道是什么布局方式的话,我觉得应该看的懂吧。
1
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:background="@drawable/page24"
6 tools:context="${relativePackage}.${activityClass}" >
7
8
10 android:layout_height="wrap_content"
11 android:layout_gravity="right"
12 android:orientation="horizontal" >
13
14
16 android:layout_height="wrap_content"
17 android:layout_gravity="right"
18 android:text="广告倒计时:"
19 android:textColor="#ffffff"
20 android:textSize="20sp" />
21
22
24 android:layout_width="wrap_content"
25 android:layout_height="wrap_content"
26 android:layout_gravity="right"
27 android:text="5"
28 android:textColor="#ffffff"
29 android:textSize="20sp" />
30
31
33 android:layout_height="wrap_content"
34 android:layout_gravity="right"
35 android:text="s"
36 android:textColor="#ffffff"
37 android:textSize="20sp" />
38
39
40
下面的话咱就开始要写怎么在app内部实现的方法了吧,这就到了我们的Java的程序天地来了。
这时候我们就在项目下的src文件下的包里面写上你的Java文件吧。咱慢慢来,别急。
1 /**
2 *3 * 1.声明界面4 * 2.定义变量5 * 3.调用类Animation6 * 4.写方法让它动起来7 *@authorRain8 *9 */
10 public class WelcomeActivity extendsActivity{11
12 //声明控件对象
13 privateTextView textView;14 //声明时间有多少;
15 private int count = 5;16 privateAnimation animation;17
18 @Override19 protected voidonCreate(Bundle savedInstanceState) {20 super.onCreate(savedInstanceState);21 //下面的话就是去除标题的方法
22 requestWindowFeature(Window.FEATURE_NO_TITLE);23 setContentView(R.layout.activity_welcome);24 //初始化控件对象textView
25 textView =(TextView) findViewById(R.id.textView);26 animation = AnimationUtils.loadAnimation(this, R.anim.animation_text);27 handler.sendEmptyMessageDelayed(0, 1000);28
29
30 }31
32 //咱在写一个计算Welcome界面的广告时间结束后进入主界面的方法
33 private intgetCount() {34 count--;35 if (count == 0) {36 Intent intent = new Intent(this, MainActivity.class);37 startActivity(intent);38 finish();39 }40 returncount;41 }42
43 //进行一个消息的处理
44 @SuppressLint("HandlerLeak")45 private Handler handler = newHandler() {46 public voidhandleMessage(android.os.Message msg) {47 if (msg.what == 0) {48 textView.setText(getCount()+"");49 handler.sendEmptyMessageDelayed(0, 1000);50 animation.reset();51 textView.startAnimation(animation);52 }53
54 };55
56 };57
58 }
用的时候可得注意导入下包哈。
这样一个会自动跳转到主界面的广告界面就完成了。
谢谢观看。大家可以畅所欲言,发表看法,吾等虚心接受的。