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?
- La elevación no funciona para BottomSheet dentro de la disposición del coordinador
- Hoja de fondo se aleja con cambio de visibilidad
- BottomSheetDialog permanece oculto después de descartar arrastrando hacia abajo
- Android BottomSheetDialogFragment no se expande por completo
- Hoja inferior de Android - tema de desplazamiento
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.
- AS no puede encontrar BottomSheetBehavior_Params, _behavior_peekHeight y _behavior_hideable
- Trate de entender el comportamiento de BottomSheet en la biblioteca de soporte de Android 23.2.1
- Hoja de fondo de Android La altura de TextView no se ajusta al expandirse por primera vez
- BottomNavigationView no es de ancho completo
- Actualizar los contenidos de recyclerview fallan en la hoja inferior
- ListView en la hoja inferior
- Scrollview no se desplaza en la hoja de cálculo de Android
- BottomSheetDialogFragment - Cómo configurar la altura expandida (o el desplazamiento de la parte superior del min)
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
- Cómo establecer un espacio igual con Android GridView?
- Vista de componentes personalizada de Android con esquinas redondeadas