yaozs / imageshowpicker Goto Github PK
View Code? Open in Web Editor NEW单纯的上传图片展示控件
单纯的上传图片展示控件
1.删除图片的位置
2.提交长按监听
3.只有添加数据没有删除数据,或者说是刷新数据
感谢作者分享!
问题1:那个自带的Demo,选List_picker ,当一直往下划,直接报错
Process: com.yzs.imageshowpicker, PID: 19303
java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true
at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:5736)
at android.support.v7.widget.RecyclerView$Recycler.recycleView(RecyclerView.java:5680)
at android.support.v7.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:289)
at android.support.v7.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:336)
at android.support.v7.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:349)
at android.support.v7.widget.GapWorker.prefetch(GapWorker.java:356)
at android.support.v7.widget.GapWorker.run(GapWorker.java:387)
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:5458)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
问题2: 我看你的onePicker选择是当选了九张后,那个添加图片的加号就没有了。你的每次去图库选也的确是做了限制,最多选9张。但是你这边有个bug。就是我先去图库选3张,我再点击进入图库选8张。然后确定出来。上面有11张图片。。加号也没有了。然后我要删图片,删到小于9张,才出来加号。。所以我第一次加8张,第二次加9张,其实我最多加了17张。应该在图库选图片的时候把已经加入的数量也要统计进去
建议3:
最好添加好后。点击图片后能够放大查看。然后可以再放大的界面有个删除,像微信一样。
我在选择图片上传时,选择了几个比较大的图片,直接crash了。
Process: com.zhongyinginfo.landa.doctor, PID: 896
java.lang.OutOfMemoryError: Failed to allocate a 38937612 byte allocation with 16777120 free bytes and 27MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
at android.graphics.BitmapFactory.decodeStreamInternal(BitmapFactory.java:635)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:611)
at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:391)
at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:417)
at android.graphics.drawable.Drawable.createFromPath(Drawable.java:1143)
at android.widget.ImageView.resolveUri(ImageView.java:795)
at android.widget.ImageView.setImageURI(ImageView.java:442)
at com.zhongyinginfo.landa.doctor.utils.imageshowpickerview.Loader.displayImage(Loader.java:20)
at com.zhongyinginfo.landa.doctor.utils.imageshowpickerview.Loader.displayImage(Loader.java:15)
at com.zhongyinginfo.landa.doctor.utils.imageshowpickerview.ImageShowPickerAdapter.onBindViewHolder(ImageShowPickerAdapter.java:89)
at com.zhongyinginfo.landa.doctor.utils.imageshowpickerview.ImageShowPickerAdapter.onBindViewHolder(ImageShowPickerAdapter.java:22)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6356)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6389)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5335)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5598)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5440)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5436)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2224)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1511)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:595)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at com.zhongyinginfo.landa.doctor.utils.imageshowpickerview.MyGridLayoutManager.onLayoutChildren(MyGridLayoutManager.java:40)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3583)
at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:3025)
at android.view.View.measure(View.java:17565)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5537)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1083)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:615)
at android.view.View.measure(View.java:17565)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5537)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17565)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5537)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17565)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5537)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
at android.view.View.measure(View.java:17565)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5537)
at android.support.v7.widget.ActionBarOverlayLa
java.lang.NoSuchMethodError: No static method getFont(Landroid/content/Context;ILandroid/util/TypedValue;ILandroid/widget/TextView;)Landroid/graphics/Typeface; in class Landroid/support/v4/content/res/ResourcesCompat; or its super classes (declaration of 'android.support.v4.content.res.ResourcesCompat' appears in /data/app/com.nxt.xxtfw-1/base.apk:classes31.dex)
at android.support.v7.widget.TintTypedArray.getFont(TintTypedArray.java:119)
at android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.java:208)
at android.support.v7.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:110)
at android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.java:38)
at android.support.v7.widget.AppCompatTextView.(AppCompatTextView.java:81)
at android.support.v7.widget.AppCompatTextView.(AppCompatTextView.java:71)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103)
at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024)
at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:839)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:842)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802)
at android.view.LayoutInflater.inflate(LayoutInflater.java:519)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at com.zhihu.matisse.ui.MatisseActivity.onCreate(MatisseActivity.java:83)
at android.app.Activity.performCreate(Activity.java:6340)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2557)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2670)
at android.app.ActivityThread.access$1100(ActivityThread.java:178)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1515)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5845)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768)
选择图片会出现重复的现象,这样就需要将之前选择的数据进行清空后重新加载,但是好像没有找到清空的方法,如果直接在修改addData()方法加入 this.list.clear();会导致加号图片消失。
public <T extends ImageShowPickerBean> void addData(List<T> list) {
if (list == null) {
return;
}
this.list.clear();
this.list.addAll(list);
if (isShowAnim) {
if (adapter != null)
adapter.notifyItemRangeChanged(this.list.size() - list.size(), list.size());
} else {
if (adapter != null)
adapter.notifyDataSetChanged();
}
}
作者有什么好的方法来实现这个功能吗?
功能举例:第一次选择了三张图片,第二次重新选择包括之前三张图片在内的四张,返回后显示的图片总数是七张,实际应该显示四张。
当item图片过多(超过一屏)后,向下滑动就会报错!
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.project.administrator, PID: 6961
java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true
at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:5736)
at android.support.v7.widget.RecyclerView$Recycler.recycleView(RecyclerView.java:5680)
at android.support.v7.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:289)
at android.support.v7.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:336)
at android.support.v7.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:349)
at android.support.v7.widget.GapWorker.prefetch(GapWorker.java:356)
at android.support.v7.widget.GapWorker.run(GapWorker.java:387)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:5886)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1031)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)
上下滑动的时候,会有卡顿不流畅
你好,运行程序后,图片都不显示的。换了Picasso和换了图片url,还是不能显示。
报错日志如下:
11-18 11:20:10.508 24792 24792 E AndroidRuntime: FATAL EXCEPTION: main
11-18 11:20:10.508 24792 24792 E AndroidRuntime: Process: com.shrj.firecontrol, PID: 24792
11-18 11:20:10.508 24792 24792 E AndroidRuntime: java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.support.v7.widget.RecyclerView$LayoutParams
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.support.v7.widget.RecyclerView.getDecoratedBoundsWithMarginsInt(RecyclerView.java:4886)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.support.v7.widget.RecyclerView$LayoutManager.getDecoratedBoundsWithMargins(RecyclerView.java:9373)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.support.v7.widget.RecyclerView$LayoutManager.setMeasuredDimensionFromChildren(RecyclerView.java:7531)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:3339)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.View.measure(View.java:19140)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.View.measure(View.java:19140)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.View.measure(View.java:19140)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.View.measure(View.java:19140)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.View.measure(View.java:19140)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.View.measure(View.java:19140)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.View.measure(View.java:19140)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2690)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.View.measure(View.java:19140)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2476)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1440)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1694)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1321)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6703)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:894)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:696)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:631)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:880)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:815)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:104)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.os.Looper.loop(Looper.java:207)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5692)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
11-18 11:20:10.508 24792 24792 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:752)
布局和示例一样的,我怀疑是Adapter的问题,正在看代码
我使用compileSdkVersion 27,targetSdkVersion 27,implementation 'com.android.support:appcompat-v7:27.1.1'并且implementation 'com.android.support:recyclerview-v7:27.1.1',运行时会崩溃。Log如下:
`
02-03 15:29:31.726 14411-14411/com.peng.administrator.qhdkeyperson E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.peng.administrator.qhdkeyperson, PID: 14411
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.v7.widget.RecyclerView$ViewHolder.shouldIgnore()' on a null object reference
at android.support.v7.widget.RecyclerView.findMinMaxChildLayoutPositions(RecyclerView.java:3989)
at android.support.v7.widget.RecyclerView.didChildRangeChange(RecyclerView.java:4005)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:3908)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3540)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4082)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:2001)
at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1990)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1755)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:2001)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1844)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1753)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:2001)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1844)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1753)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:2001)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1844)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1753)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:396)
at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
at android.support.v4.widget.NestedScrollView.onLayout(NestedScrollView.java:1674)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1189)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:396)
at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:443)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:396)
at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:2001)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1844)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1753)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:396)
at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2807)
at android.view.View.layout(View.java:16952)
at android.view.ViewGroup.layout(ViewGroup.java:5580)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2547)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2250)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1321)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6763)
at
`
我看到那个知乎框架是支持拍照的,这个功能蛮有用的
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.