classops / CupertinoDialog

iOS-style dialog: AlertDialog, ActionSheetDialog
10 stars 1 forks source link

Black background on cancel button #1

Closed vanthien113 closed 2 years ago

vanthien113 commented 2 years ago

Hi. I'm using your lib on Android 10 device. After bottom sheet dialog showed. cancel button have black background color

ảnh

Please check it

classops commented 2 years ago

Do you open the dark mode?

vanthien113 commented 2 years ago

No, I don't. It still light mode. But in my config, I must add

    defaultConfig {
        renderscriptTargetApi 30
        renderscriptSupportModeEnabled true
    }

I think issue come from it. When I set renderscriptSupportModeEnabled to FALSE, app will throw exception like this:

2022-01-15 17:24:28.417 14299-14299/com.iloveshareapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.iloveshareapp, PID: 14299 java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/renderscript/RenderScript; at com.hanter.android.radwidget.cupertino.blur.SupportRenderScriptBlur.(SupportRenderScriptBlur.java:32) at com.hanter.android.radwidget.cupertino.CupertinoActionSheetDialog.initViews(CupertinoActionSheetDialog.java:120) at com.hanter.android.radwidget.cupertino.CupertinoActionSheetDialog.onCreateView(CupertinoActionSheetDialog.java:111) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963) at androidx.fragment.app.DialogFragment.performCreateView(DialogFragment.java:489) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7590) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.renderscript.RenderScript" on path: DexPathList[[zip file "/data/app/com.iloveshareapp-3PQ90m6H5ljL91lYjiP7Mg==/base.apk"],nativeLibraryDirectories=[/data/app/com.iloveshareapp-3PQ90m6H5ljL91lYjiP7Mg==/lib/arm64, /data/app/com.iloveshareapp-3PQ90m6H5ljL91lYjiP7Mg==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:230) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.hanter.android.radwidget.cupertino.blur.SupportRenderScriptBlur.(SupportRenderScriptBlur.java:32)  at com.hanter.android.radwidget.cupertino.CupertinoActionSheetDialog.initViews(CupertinoActionSheetDialog.java:120)  at com.hanter.android.radwidget.cupertino.CupertinoActionSheetDialog.onCreateView(CupertinoActionSheetDialog.java:111)  at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)  at androidx.fragment.app.DialogFragment.performCreateView(DialogFragment.java:489)  at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)  at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)  at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)  at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)  at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)  at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)  at android.os.Handler.handleCallback(Handler.java:883)  at android.os.Handler.dispatchMessage(Handler.java:100)  at android.os.Looper.loop(Looper.java:224)  at android.app.ActivityThread.main(ActivityThread.java:7590)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) 

classops commented 2 years ago

yes,the blur effect is using renderscript blur implenment,but the cancel button is just the Button element。I had tested dark mode。I think reason is not dark mode。 you can use import the lib as module without using maven repo,debug the bug。

setting build.gradle

renderscriptTargetApi 18 renderscriptSupportModeEnabled true

vanthien113 commented 2 years ago

Thanks for your reply. After I change cancel button from Button to AppCompatButton. It worked.

ảnh

Please recheck it

classops commented 2 years ago

the reason is implementation com.google.android.material:material. the material theme will tint