Android-CoordinatorLayout.……自定义控件

自定义Behavior实现知乎首页效果

2017-11-27  本文已影响191人  落魄的安卓开发

CoordinatorLayout的几个重要的参数:

Behavior字面意思就是行为举止,这里我们通过自定义Behavior来实现自己需要的效果。

  1. 重写最终要的两个方法:
    @Override
    public boolean layoutDependsOn(CoordinatorLayout parent, Button child, View dependency) {
        return dependency instanceof MyView;
    }
//释义:该方法是检测被依赖的View(即dependencyView)是否是我们这里定义的View,即:MyView。返回false表示child不依赖dependency,ture表示依赖

    @Override
    public boolean onDependentViewChanged(CoordinatorLayout parent, Button child, View dependency) {
        int top = dependency.getTop();
        //更新childView
        updateChild(child, top);
        return true;
    }
//释义:这里就是监听 被依赖的dependencyView的变化,然后对ChildView进行相应的变化即可。
  1. 然后在CoordinatorLayout布局中加入ChildView和DependencyView,并在ChildView中加入属性:

     app:layout_behavior="com.thc.myzhihu.materialdesigndemo.MyBehavior" 
    
  2. 简陋版知乎首页效果 /躲

上一篇下一篇

猜你喜欢

热点阅读