创建一个简单的行为
创建 Behavior
只需扩展 CoordinatorLayout.Behavior
类。
扩展 CoordinatorLayout.Behavior
例:
public class MyBehavior<V extends View> extends CoordinatorLayout.Behavior<V> {
/**
* Default constructor.
*/
public MyBehavior() {
}
/**
* Default constructor for inflating a MyBehavior from layout.
*
* @param context The {@link Context}.
* @param attrs The {@link AttributeSet}.
*/
public MyBehavior(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
此行为需要附加到要调用的 CoordinatorLayout
的子视图。
以编程方式附加行为
MyBehavior myBehavior = new MyBehavior();
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) view.getLayoutParams();
params.setBehavior(myBehavior);
在 XML 中附加行为
你可以使用 layout_behavior
属性在 XML 中附加行为:
<View
android:layout_height="...."
android:layout_width="...."
app:layout_behavior=".MyBehavior" />
自动附加行为
如果你使用自定义视图,则可以使用 @CoordinatorLayout.DefaultBehavior
注释附加行为:
@CoordinatorLayout.DefaultBehavior(MyBehavior.class)
public class MyView extends ..... {
}