Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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.

  • BottomSheetDialogFragment - Cómo configurar la altura expandida (o el desplazamiento de la parte superior del min)
  • EditText setError está fuera de lugar en BottomSheetDialog
  • Android Support BottomSheetBehavior no puede ser dinámico?
  • ¿Cómo puedo agregar una sombra a la vista inferior de la hoja?
  • BottomSheetBehavior no funciona cuando la biblioteca de diseño se actualiza a 24.2.0
  • Android: Problema de evento de toque de la hoja inferior anidado
  • BottomNavigationView no es de ancho completo
  • Trate de entender el comportamiento de BottomSheet en la biblioteca de soporte de Android 23.2.1
  • 2 Solutions collect form web for “La Biblioteca de Soporte de Diseño de Android 24.2.1 hace que BottomSheet se abra al inicio”

     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

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.