Skip to content Skip to sidebar Skip to footer

Name Of The Layout Or How It's Done?

In short I want a preview similar to Google Plays, where you can slide up and the top image/video preview fades back and the rest of the view is moved up. I've got a view that I w

Solution 1:

The following is the code I used in the app I am working

You will have to use the OnScrollChanged function in your ScrollView. ActionBar doesn't let you set the opacity , so set a background drawable on the actionbar and you can change its opacity based on the amount of scroll in the scrollview. I have given an example workflow

The function sets gives the appropriate alpha for the view locationImage based on its position WRT window .

this.getScrollY() gives you how much the scrollView has scrolled

publicvoidOnScrollChanged(int l, int t, int oldl, int oldt){
    // Code ...
    locationImage.setAlpha(getAlphaForView(locationImageInitialLocation- this.getScrollY()));
}


privatefloatgetAlphaForView(int position){
    int diff = 0;
    float minAlpha = 0.4f, maxAlpha = 1.f;
    float alpha = minAlpha; // min alphaif (position > screenHeight)
        alpha = minAlpha;
    elseif (position + locationImageHeight < screenHeight)
        alpha = maxAlpha;
    else {
        diff = screenHeight - position;
        alpha += ((diff * 1f) / locationImageHeight)* (maxAlpha - minAlpha); // 1f and 0.4f are maximum and min// alpha// this will return a number betn 0f and 0.6f
    }
    // System.out.println(alpha+" "+screenHeight +" "+locationImageInitialLocation+" "+position+" "+diff);return alpha;
}

You can download an example working sample at https://github.com/ramanadv/fadingActionBar

Credit: CommandSpace

Post a Comment for "Name Of The Layout Or How It's Done?"