HeaderElevationController(View header) {
mHeader = header;
final Resources res = mHeader.getContext().getResources();
mMaxElevation = res.getDimension(R.dimen.all_apps_header_max_elevation);
mScrollToElevation = res.getDimension(R.dimen.all_apps_header_scroll_to_elevation);
// We need to provide a custom outline so the shadow only appears on the bottom edge.
// The top, left and right edges are all extended out, and the shadow is clipped
// by the parent.
final ViewOutlineProvider vop = new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
final View parent = (View) mHeader.getParent();
final int left = parent.getLeft(); // Use the parent to account for offsets
final int top = view.getTop();
final int right = left + view.getWidth();
final int bottom = view.getBottom();
final int offset = Utilities.pxFromDp(mMaxElevation, res.getDisplayMetrics());
outline.setRect(left - offset, top - offset, right + offset, bottom);
}
};
mHeader.setOutlineProvider(vop);
}
HeaderElevationController.java 文件源码
java
阅读 32
收藏 0
点赞 0
评论 0
项目:LaunchEnr
作者:
评论列表
文章目录