yipianfengye / android-addialog Goto Github PK
View Code? Open in Web Editor NEW一个简单,强大的广告活动弹窗控件
一个简单,强大的广告活动弹窗控件
导入库的时候运行APP的时候百度地图的SDK初始化会报错,提示要升级到64位的so文件,但是不引用该库的时候百度地图就鞥正常使用
Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
在activity的onResume方法中调用adManager.showAdDialog(AdConstant.ANIM_DOWN_TO_UP);,弹了两次一样的,关掉一个还有一个
为什么
只弹出一个透明层,没有加载图片。。什么原因呢。。
请问:
本地或者mipmap资源图片不能用?一定要网络图片的URL吗
比如“加载中”,我想修改过成loading或者是繁体的“加載中”
里面的View 能不能提供接口自定义
调用adManager.dismissAdDialog();后,出现内存泄漏
在AnimSpring类中,springSystem对象无法销毁
检测工具:leakcanary
把sample code放在自己的app中ad pic无法显示,请问可能有什么情况呢?
Log里有09-20 03:49:32.641 10636-10636/com.gogosu.gogosuandroid I/dalvikvm: Could not find method android.widget.Spinner.getPopupContext, referenced from method android.support.v7.widget.AppCompatSpinner.getPopupContext
09-20 03:49:32.641 10636-10636/com.gogosu.gogosuandroid W/dalvikvm: VFY: unable to resolve virtual method 22074: Landroid/widget/Spinner;.getPopupContext ()Landroid/content/Context;
09-20 03:49:32.641 10636-10636/com.gogosu.gogosuandroid D/dalvikvm: VFY: replacing opcode 0x6f at 0x000b
09-20 03:49:32.645 10636-10636/com.gogosu.gogosuandroid I/ListPopupWindow: Could not find method setEpicenterBounds(Rect) on PopupWindow. Oh well.
09-20 03:49:32.645 10636-10636/com.gogosu.gogosuandroid I/dalvikvm: Could not find method android.widget.PopupWindow.showAsDropDown, referenced from method android.support.v7.widget.AppCompatPopupWindow.showAsDropDown
09-20 03:49:32.645 10636-10636/com.gogosu.gogosuandroid W/dalvikvm: VFY: unable to resolve virtual method 21884: Landroid/widget/PopupWindow;.showAsDropDown (Landroid/view/View;III)V
09-20 03:49:32.645 10636-10636/com.gogosu.gogosuandroid D/dalvikvm: VFY: replacing opcode 0x6f at 0x000d
09-20 03:49:32.677 10636-10636/com.gogosu.gogosuandroid W/EGL_genymotion: eglSurfaceAttrib not implemented
09-20 03:50:36.253 10636-10742/com.gogosu.gogosuandroid D/dalvikvm: GC_FOR_ALLOC freed 680K, 7% free 12180K/12972K, paused 6ms, total 6ms
希望作者能够在醒目的地方添加下,Fresco的混淆代码,否者使用者一旦混淆代码,很容易察觉不到这个问题!
Attribute application@name value=(************) from AndroidManifest.xml:68:9-76
is also present at [cn.yipianfengye.android:ad-library:1.0] AndroidManifest.xml:12:9-55 value=(com.uuch.adlibrary.LApplication).
Suggestion: add 'tools:replace="android:name"' to element at AndroidManifest.xml:67:5-751:19 to override.
请把 android:name去掉
在我们自己创建library给别人使用时,如果需要依赖com.android.support的话,建议用provided的方式依赖(android studio3.0中更改为compileOnly),这样只会在编译时有效,不会参与打包。以免给使用者带来不便。
provided 'com.android.support:appcompat-v7:26.1.0'
另外在application里初始化项目
DisplayMetrics dm = mApplication.getResources().getDisplayMetrics();
麻烦写到文档里,用起来能方便一些,谢谢
android:screenOrientation="landscape"
下载后出现这个问题 有人遇到类似的问题 他们的方法解决不了 不知博主是否知道怎么解决 谢谢啦!
如题。
如题
大神,啥时候添加使用本地图片的功能啊?现在特别想用,就是不能添加本地图片。
这打开速度延迟也太大了吧
我的Android Studio是2.1.2,编译出错,下载不了约束布局依赖包,但我去掉此依赖,发现对工程也没有影响
08-17 07:01:37.797 24906-24906/com.zczczy.leo.fuwuwangapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.zczczy.leo.fuwuwangapp, PID: 24906
android.view.InflateException: Binary XML file line #23: Binary XML file line #23: Error inflating class com.facebook.drawee.view.SimpleDraweeView
at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at com.uuch.adlibrary.AdManager$AdAdapter.instantiateItem(AdManager.java:181)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1003)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1151)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1085)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1611)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
at android.view.View.measure(View.java:18788)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1452)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:606)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.view.InflateException: Binary XML file line #23: Error inflating class com.facebook.drawee.view.SimpleDraweeView
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at com.uuch.adlibrary.AdManager$AdAdapter.instantiateItem(AdManager.java:181)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1003)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1151)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1085)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1611)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
at android.view.View.measure(View.java:18788)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1452)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:606)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at android.view.LayoutInflater.createView(LayoutInflater.java:619)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at com.uuch.adlibrary.AdManager$AdAdapter.instantiateItem(AdManager.java:181)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1003)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1151)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1085)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1611)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
at android.view.View.measure(View.java:18788)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1452)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:606)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: SimpleDraweeView was not initialized!
at com.facebook.common.internal.Preconditions.checkNotNull(Preconditions.java:226)
at com.facebook.drawee.view.SimpleDraweeView.init(SimpleDraweeView.java:81)
at com.facebook.drawee.view.SimpleDraweeView.(SimpleDraweeView.java:63)
at java.lang.reflect.Constructor.newInstance(Native Method)
at android.view.LayoutInflater.createView(LayoutInflater.java:619)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at com.uuch.adlibrary.AdManager$AdAdapter.instantiateItem(AdManager.java:181)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1003)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1151)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1085)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1611)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:18788)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
at android.view.View.measure(View.java:18788)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1452)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:606)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
List datas=new ArrayList();
//
// // for (XGPostBean.AdInfoBean info: ads.getAdInfo()) {
// for(int i=0;i<4;i++){
//
// //构造一个AdInfo
// // Logger.i("-----广告info------>"+info.getImg()+" "+info.getInformUrl()+" "+info
// // .getInformUrlType());
// AdInfo adinfo=new AdInfo();
// adinfo.setActivityImg("https://raw.githubusercontent.com/yipianfengye/android-adDialog/master/images/testImage1.png");
// adinfo.setTitle("了解详情");
// adinfo.setAdId(i+"");
// datas.add(adinfo);
//
// }
//
// AdManager adManager=new AdManager(getActivity(),datas);
//
// adManager.setOnImageClickListener(new AdManager.OnImageClickListener() {
// @OverRide
// public void onImageClick(View view, AdInfo advInfo) {
// Toast.makeText(getActivity(), "您点击了ViewPagerItem...", Toast.LENGTH_SHORT).show();
// }
// })
// .setPadding(100)
// .setWidthPerHeight(0.5f)
// .showAdDialog(AdConstant.ANIM_UP_TO_DOWN);
你好,不知道是我的个例还是什么,点击按钮dialog要等好一会才出现。
出现这个原因在网上搜了一下,于是调用Fresco.initialize(this);来初始化,于是不会报错,但是图片不显示出来,只有一个背景阴影色。
It's an awesome tool for application developers ;) However, it would be better to implement AdManager
using Builder
pattern, Effective in Java
by Joshua Bloch has given a nice example of the pattern and benefits from it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.