【问题标题】:How to toggle layout_behavior behavior on and off programmatically?如何以编程方式打开和关闭 layout_behavior 行为?
【发布时间】:2016-05-23 03:49:37
【问题描述】:

为了简单起见,我们假设一个简单的案例。我有一个 FloatingActionButton,我在其上添加了 layout_behavior。我需要能够以编程方式启用或禁用该行为。我怎么做?我最初是通过xml添加行为

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/fab_margin"
    android:src="@drawable/mine"
    app:backgroundTint="@color/colorPrimary"
    app:layout_anchor="@id/default_message"
    app:layout_anchorGravity="end|bottom"
    app:layout_behavior=“mywidget.ScrollingFABBehavior"/>

【问题讨论】:

    标签: android android-layout android-coordinatorlayout floating-action-button


    【解决方案1】:

    您可以通过

    检索LayoutParams
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    CoordinatorLayout.LayoutParams params = 
        (CoordinatorLayout.LayoutParams) fab.getLayoutParams();
    

    此时您可以直接使用setBehavior() 设置行为:

    params.setBehavior(null);
    

    或者获取你的行为实例并调用一个方法让它自己禁用(你自己做的):

    ScrollingFABBehavior behavior =
        (ScrollingFABBehavior) params.getBehavior();
    // This is a method you write
    behavior.setEnabled(false);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多