设为首页 加入收藏

TOP

在Android迷你广告上添加浮动的关闭按钮(一)
2014-11-23 17:50:29 】 浏览:634
Tags:Android 迷你 广告 添加 浮动 关闭 按钮

万普的迷你广告是一个LinearLayout,我开始尝试着在上面直接添加一个关闭按钮,然后设置相应的布局参数,但是效果不理想。后来改用RelativeLayout作为父容器,将迷你广告的LinearLayout和关闭按钮一同放进去。下面是实现的代码。


Waps.java



package com.sparkle.ad;


import android.app.Activity;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.Color;
import android.opengl.Visibility;
import android.text.Layout;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.RelativeLayout;
import cn.waps.AppConnect;


import com.sparkle.qrcode.R;


public class Waps {
private static String _appId = "";
private static String _advertismentPlatform = "default";
private static AppConnect _appConnect = null;


private static void GetChannelInfo(Activity activity) {
ApplicationInfo appInfo = null;
try {
appInfo = activity.getPackageManager().getApplicationInfo(
activity.getPackageName(), PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
e.printStackTrace();
}


_appId = appInfo.metaData.getString("APP_ID");
_advertismentPlatform = appInfo.metaData.getString("APP_PID");


}


public static void Start(Activity activity) {


GetChannelInfo(activity);
_appConnect = AppConnect.getInstance(_appId, _advertismentPlatform,
activity);
if (_appConnect == null) {
return;
}
_appConnect.setAdBackColor(Color.argb(50, 120, 240, 120));


_appConnect.setAdForeColor(Color.YELLOW);


LinearLayout miniLayout = GenerateMiniLinearLayout(activity);


_appConnect.showMiniAd(activity, miniLayout, 10);


}


private static LinearLayout GenerateMiniLinearLayout(Activity activity) {
final RelativeLayout relativeLayout = new RelativeLayout(activity);
LinearLayout miniLayout = new LinearLayout(activity);


ImageView close_imageView = new ImageView(activity);
close_imageView.setBackgroundResource(R.drawable.close);
close_imageView.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
relativeLayout.setVisibility(View.GONE);


}
});
RelativeLayout.LayoutParams closeParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
closeParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
close_imageView.setLayoutParams(closeParams);


relativeLayout.addView(miniLayout);
relativeLayout.addView(close_imageView);


FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.gravity=Gravity.BOTTOM;


activity.addContentView(relativeLayout, layoutParams);
return miniLayout;
}


public static void Close(Context context) {
AppConnect.getInstance(context).close();
}


}


注:


(1)、APP_ID和APP_PID在AndroidManifest.xml中配置。


(2)、Start函数用来启动广告。


(3)、Close函数用来关闭广告。


(4)、GenerateMiniLinearLayout函数中生成了RelativeLayout的相对布局。在RelativeLayout中,添入迷你广告miniLayout和关闭按钮close_imageView。close_ima

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇libiconv字符集转换库在C#中的使用 下一篇Android之搜索框的纯代码实现

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目