当前位置: 首页 > >

关于app#启动页面#splash页面#开屏广告#的小结

发布时间:

本次迭代任务完成了开屏广告的接入,在此将本次工作中学到的知识以及遇到的问题做个小结,以便后期回顾。

首先splash页面即app启动的第一个activity,我们暂且命名为SplashActivity,其对应的布局文件为splash_activity。
我们放的开屏广告通常是一张图片。

布局文件如下:


android:id="@+id/fl_whole"
android:layout_width="match_parent"
android:layout_height="match_parent" >

android:id="@+id/ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top" />



由于每个应用启动时用户看见的第一眼是当前activity的主题颜色或主题中设置的图片,设置方法如下


android:name="com.erliang.splash.ad.SplashActivity"
android:label="@string/app_name"
android:theme="@style/gioneeLightThemeNoTitleAndFullScreen" >







android:theme="@style/gioneeLightThemeNoTitleAndFullScreen" >其中style如下:
    

设置背景后主题颜色为该图片,布局文件的背景也是该文件。

我们拿到一张广告图片后,只需要盖在背景图片上即可,我们请求的时候,只要两种尺寸的图片,一种是全屏幕的,一种是漏出
logo的图片,activity代码如下:

public class SplashActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_activity);

Log.i("jingcl", "500ms后出现广告-----1");
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
ImageView adIv = (ImageView) findViewById(R.id.ad);
adIv.setBackground(getResources().getDrawable(
R.drawable.ad_640800));
runAnimator(adIv);
}
}, 500);
}

private void runAnimator(ImageView adIv) {
Log.i("jingcl", "展示广告动画1s-----2");
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(adIv, "alpha",
0, 1).setDuration(1000);
objectAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
objectAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
enterMainPage();
}
});
objectAnimator.start();
}

private void enterMainPage() {
Log.i("jingcl", "广告展示3s完毕进入主页-----3");
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent();
intent.setClass(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
}
}, 3000);
}

private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
}
};
}















友情链接: