La Biblioteca de Soporte de Diseño de Android 24.2.1 hace que BottomSheet se abra al inicio

Después de cambiar a la versión 24.2.1 de la biblioteca de Android Design Support de la versión 23.4.0, BottomSheetBehavior dejó de funcionar para mí. La hoja inferior se muestra como abierta y no se cierra cuando se llama a setState(BottomSheetBehavior.STATE_COLLAPSED) . Esto no ocurre en 23.4.0 de la biblioteca de diseño donde BottomSheetBehaviour funciona para mí como se esperaba.

¿Cambió algo en la versión 24 que requiere utilizar BottomSheetBehavior de forma diferente?

Aquí está mi archivo de diseño:

 <?xml version="1.0" encoding="utf-8"?> 

 <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button" android:text="Open Bottom Sheet" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/close_button" android:text="Close Bottom Sheet" /> </LinearLayout> <LinearLayout android:id="@+id/bottom_sheet" android:layout_width="match_parent" android:layout_height="100dp" android:orientation="horizontal" android:background="@android:color/holo_green_light" app:layout_behavior="android.support.design.widget.BottomSheetBehavior"/> 

Y aquí está el código de actividad que estoy usando:

 public class ScrollingActivity extends AppCompatActivity implements View.OnClickListener { private View m_bottomSheet; private BottomSheetBehavior m_behaviour; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_scrolling); m_bottomSheet = findViewById(R.id.bottom_sheet); m_behaviour = BottomSheetBehavior.from(m_bottomSheet); ((Button)findViewById(R.id.button)).setOnClickListener(this); ((Button)findViewById(R.id.close_button)).setOnClickListener(this); } @Override public void onClick(View v) { switch(v.getId()){ case R.id.button: m_behaviour.setState(BottomSheetBehavior.STATE_EXPANDED); break; case R.id.close_button: m_behaviour.setState(BottomSheetBehavior.STATE_COLLAPSED); break; } } 

}

Cualquier consejo sería apreciado.

 m_behaviour.setPeekHeight(0); 

Por defecto, el estado de "ojeada", por lo que si no desea que eche un vistazo a todos, es necesario establecer la altura de ojeada a 0.

  app:behavior_peekHeight="0dp" app:layout_behavior="@string/bottom_sheet_behavior" 

Usted puede fijar la altura de la ojeada a 0dp en la disposición, no necesita fijarla programmatically

  • Android Support BottomSheetBehavior estado adicional anclado
  • Pantalla débil e interacción de bloques con hojas de fondo
  • El desplazamiento no funciona con CoordinatorLayout + imagen de paralaje + BottomSheetLayout
  • Persistente BottomSheet peekHeight y STATE_COLLAPSED no dibujar correctamente en Inicio de actividad
  • Android: Problema de evento de toque de la hoja inferior anidado
  • ¿Cómo manejar los problemas de la nueva hoja inferior de la biblioteca de soporte / diseño?
  • Cómo atenuar el fondo cuando se utiliza la parte inferior de la biblioteca de soporte?
  • Pantalla inferior de pantalla completa con el botón Cerrar (X) en la parte superior
  • BottomSheetBehaviour setstate sin animación
  • Personalización de la hoja inferior persistente STATE_EXPANDED altura o desplazamiento
  • RecyclerView (horizontal) anidados en BottomSheet que impide el desplazamiento vertical
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.