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.

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.