ozodrukh / CircularReveal

Lollipop ViewAnimationUtils.createCircularReveal for everyone 4.0+
MIT License
2.43k stars 391 forks source link

java.lang.UnsupportedOperationException #3

Closed Ivan876l678 closed 9 years ago

Ivan876l678 commented 9 years ago

К сожалению патч не помог. новый sample.apk вылетает. собрал проект из исходников (кстати не без тацев с бубуном- какой IDE и какой версии вы пользуетесь, в Android Studio приходится снижать версию build tools и убирать из кофигов minify), вот лог ошибки

11-20 14:16:59.144 23184-23184/io.codetail.circualrevealsample E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.UnsupportedOperationException at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:435) at io.codetail.circualrevealsample.widget.FloatingActionButton.onDraw(FloatingActionButton.java:134) at android.view.View.draw(View.java:11014) at android.view.View.getDisplayList(View.java:10444) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.getDisplayList(View.java:10442) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.getDisplayList(View.java:10442) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.getDisplayList(View.java:10442) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.getDisplayList(View.java:10442) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.getDisplayList(View.java:10442) at android.view.ViewGroup.drawChild(ViewGroup.java:3149) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2788) at android.view.View.draw(View.java:11017) at android.widget.FrameLayout.draw(FrameLayout.java:450) at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2175) at android.view.View.getDisplayList(View.java:10444) at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:883) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2089) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1781) at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2666) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:4977) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method)

На будущее просьба - включайте в sample.apk логгирование, чтобы без сборки можно было прочитать лог, и собирайте исходники для Beta-версий IDE (я так понимаю у вас сейчас Anroid Studio из Canary channel)

ругается вот на эти строчки в FloatingActionButton.java

@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); final int state = canvas.save(); canvas.clipPath(mCirclePath); // на этой строчке и происходит Exeption canvas.drawPath(mCirclePath, mCirclePaint); mRippleDrawable.draw(canvas); if(mActionIcon != null){ final int beforeActionState = canvas.save(); canvas.translate( (mCircle.x - (mActionSize / 2)), (mCircle.y - (mActionSize / 2))); mActionIcon.draw(canvas); canvas.restoreToCount(beforeActionState); } canvas.restoreToCount(state); }

спасает все так-же добавление в конструктор

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) { setLayerType(View.LAYER_TYPE_SOFTWARE, null); }

ozodrukh commented 9 years ago

а анимация теперь как работает?

Ivan876l678 commented 9 years ago

самих карточек- как на видео. а по FAB изменений я не заметил. работает как при selector'е

Ivan876l678 commented 9 years ago

а нет, поправка- есть в FABе ripple. Но разглядел я его только по долгому тапу, при обычном нажатии он тоже есть, но практически не заметен. Ощущение, как от селектора

ozodrukh commented 9 years ago

Отлично, вы можете послать pull request с вашим изменением?

Ivan876l678 commented 9 years ago

к сожалению нет, просто добавьте отключение с проверкой версий в конструктор FloatingActionButton, и соберите проект с Android Studio 0.8.14 (в Beta-канале она последняя) с последними, доступными для этой версии, версиями gradle, com.android.tools.build:gradle, и в каждом модуле последние buildTools (вроде 21.1.1), ну и версии либ обновите если нужно. В вашем проекте студия 0.8.14 например не знает параметр конфига minify

Ivan876l678 commented 9 years ago

*отключение аппаратного ускорения

lkv1988 commented 9 years ago

:( can u guys just speak English, I wonder this problem too.

ozodrukh commented 9 years ago

wow, again? I'm not update sample.apk but fixed bug, please compile current project