Diseño de cajones de diseño de materiales (menú deslizante)

DrawerLayout contiene dos interfaces, una interfaz principal y una interfaz oculta. La interfaz oculta se puede mostrar haciendo clic en un botón o deslizando el borde de la pantalla. Generalmente, la interfaz oculta se utiliza como un menú.
Escriba una descripción de la imagen aquí

DrawerLayout es un diseño, y no es muy diferente del diseño normal. Primero, agregue un DrawerLayout al archivo de diseño

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

   <FrameLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent">
       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="主界面"
           android:textSize="20sp"/>
   </FrameLayout>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity = "start"
        android:text="滑出界面"
        android:textSize="20sp"
        android:background="#fff"/>
</android.support.v4.widget.DrawerLayout>

DrawerLayout contiene dos subcontroles directos (o diseños), el primero se mostrará en la interfaz principal y el segundo en la subinterfaz. El atributo android: layout_gravity debe agregarse al segundo control (o diseño). Android: layout_gravity tiene tres valores: izquierda, derecha e inicio. Representa que el menú oculto es de izquierda y derecha, y se desliza hacia la izquierda o la derecha según los hábitos del idioma del sistema.
En este punto, se ha configurado el menú deslizante, pero para facilitar la experiencia del usuario, generalmente configuramos un botón para recordarle al usuario que oculte la existencia de la interfaz, y luego configuramos DrawerLayout en MainActivity para hacer clic en el botón deslizable.

public class MainActivity extends AppCompatActivity {
    private DrawerLayout drawerLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);//获取DrawerLayout的实例
        ActionBar actionBar = getSupportActionBar();
        if(drawerLayout!= null){
            actionBar.setDisplayHomeAsUpEnabled(true);//使ActionBar的HomeAsUp键显示出来
            actionBar.setHomeAsUpIndicator(R.drawable.ic_menu);//更换HomeAsUp键默认图标
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case android.R.id.home:     //HomeAsUp键系统设置的ID
                drawerLayout.openDrawer(GravityCompat.START);   //点击事件监听,启动滑动菜单
                break;
        }
        return true;
    }
}

Entre ellos, HomeAsUp es un botón predeterminado en ActionBar. La configuración predeterminada está oculta. El ID es android.R.id.home. Llamar al método setDisplayHomeAsUpEnabled (true) a través de la instancia de ActionBar puede hacer que se muestre.

Publicado 34 artículos originales · Me gusta 10 · Visitas 30,000+

Supongo que te gusta

Origin blog.csdn.net/q296264785/article/details/59479769
Recomendado
Clasificación