app或游戏的主页显示广告页面,实现方式:
public class MainActivity extends Activity implements View.OnClickListener{private Button btnShowAd;private RelativeLayout layoutAd;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView(){btnShowAd = (Button)findViewById(R.id.btnShowAd);btnShowAd.setOnClickListener(this);}private RelativeLayout createLayout(){final ImageView imgAd = new ImageView(this);imgAd.setImageResource(R.mipmap.pic22);DisplayMetrics metrics = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metrics);int width = (int)(metrics.widthPixels*0.7f);int height = (int)(metrics.heightPixels*0.7f);final RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(width, height);params1.addRule(RelativeLayout.CENTER_IN_PARENT);imgAd.setLayoutParams(params1);imgAd.requestLayout();final ImageView imgClose = new ImageView(this);imgClose.setImageResource(R.mipmap.close);int width2 = (int)(width*0.1f);int height2 = (int)(height*0.1f);RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams(width2, height2);params2.leftMargin = metrics.widthPixels/2 + width/2 - width2 - 10;params2.topMargin = metrics.heightPixels/2 - height/2 + (2*height2)/3;imgClose.setLayoutParams(params2);imgClose.setClickable(true);imgClose.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {ViewParent parent = imgClose.getParent();if(parent != null){layoutAd.setVisibility(View.GONE);for(int i=0; i<layoutAd.getChildCount(); ++i){View view = layoutAd.getChildAt(i);view.setVisibility(View.GONE);}}Toast.makeText(MainActivity.this, "close", Toast.LENGTH_SHORT).show();}});RelativeLayout layout = new RelativeLayout(this); // layout.setBackgroundColor(0xffff0000); layout.addView(imgAd);layout.addView(imgClose);addContentView(layout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));return layout;}private void showAd(){if(layoutAd == null){layoutAd = createLayout();}layoutAd.setVisibility(View.VISIBLE);for(int i=0; i<layoutAd.getChildCount(); ++i){View view = layoutAd.getChildAt(i);view.setVisibility(View.VISIBLE);}ScaleAnimation animation = new ScaleAnimation(0f, 1f, 0f, 1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);animation.setDuration(600);animation.setFillAfter(true);layoutAd.startAnimation(animation);}@Overridepublic void onClick(View v) {if(v == btnShowAd){showAd();}}