GithubHelp home page GithubHelp logo

Blur happens also in children about haze HOT 5 CLOSED

chrisbanes avatar chrisbanes commented on August 21, 2024
Blur happens also in children

from haze.

Comments (5)

chrisbanes avatar chrisbanes commented on August 21, 2024

Is the SurfaceView underneath disrupting the modifier?

Not sure, but I don't believe so.

Is it even possible to do it with haze? can you exclude children composables?

No, the haze and hazeChild need to be siblings and not descendants of each other, otherwise the child will be blurred, as you've found. I assume that the Box is a child of the BoxWithConstraints?

from haze.

chrisbanes avatar chrisbanes commented on August 21, 2024

Closing this as working as intended. Feel free to comment if there's anything else.

from haze.

KirkBushman avatar KirkBushman commented on August 21, 2024

@chrisbanes I tried to put the haze and hazeChild element next to each other, but it didn't work. I'm trying to make the haze effect take the colours from an active RTC video feed but make it fully transparent. There seems to be an issue with a setup using an AndroidView/SurfaceView. :((

I might have to give up on it and use an opaque colour instead.

Here below my setup:

AndroidView(
    factory = { context ->
        val frameLayout = FrameLayout(context)
        val surfaceView = videoRenderHelper.setupRemoteVideo(
            uid = partner.id,
            renderMode = videoSizeHelper.calculateRenderMode(state, uiState, agoraState),
        )
        frameLayout.addView(surfaceView, 0)
        frameLayout
    },
    modifier = Modifier
         .haze(
              state = hazeState,
              backgroundColor = MyTheme.colors.backgroundControls,
         )
    )
}

Also, I think that having the .haze() and .hazeChild() composables always as siblings is pretty limiting. It makes it difficult to use in cases when you need AnimatedVisibility... or any custom composable that wraps your blurred item.

Could the HazeState be changed in the future to remember the references to the background and child, so it can be used in a nested way?

Thank you in advance for your help,
and for creating this library.

from haze.

chrisbanes avatar chrisbanes commented on August 21, 2024

Simple answer, no. It's just the way that Haze needs to work. We're basically doing our own (very limited) window layering, and I don't plan on doing anything more complex.

from haze.

KirkBushman avatar KirkBushman commented on August 21, 2024

@chrisbanes I thought so, thanks anyway for your work. I think this is still a great library for simpler use cases. 😃

from haze.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.