建立一個簡單的行為

建立 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 ..... {

}