¿Cómo usar la biblioteca de actividades deslizantes de Android en la aplicación de Android?

Las actividades deslizantes le permiten configurar fácilmente el contenido del encabezado, los menús y los datos en pantallas deslizables. Cree fácilmente actividades que puedan deslizarse verticalmente en la pantalla y encajar bien en la era del diseño de materiales. Podemos establecer imágenes de encabezado para nuestra actividad deslizante. También podemos personalizar el color que afectará al encabezado y la barra de estado. También podemos deshabilitar el encabezado y mostrar solo el contenido que es legible.

Use Android Sliding Activity Library in Android App Sample GIF

Implementación paso a paso

Paso 1: Crear un nuevo proyecto

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.

Paso 2: Agregar dependencia

Navegue a Gradle Scripts > build.gradle(Module:app) y agregue la siguiente dependencia en la sección de dependencias.   

compile ‘com.klinkerapps: actividad deslizante: 1.5.2’

Paso 3: Creación de XML para la actividad del control deslizante. Esto se mostrará como contenido en la actividad del control deslizante. 

XML

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:text="@string/placeholder"/>

Paso 4: Creación de XML para MainActivity. Esto contiene un botón. Después de hacer clic en él, se abrirá la actividad del control deslizante 

XML

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  
    <View android:layout_height="100dp"
        android:layout_width="match_parent"
        android:layout_centerInParent="true"
        android:id="@+id/expansion_view"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"/>
  
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
  
        <LinearLayout xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="@dimen/activity_horizontal_margin"
            android:paddingTop="@dimen/activity_vertical_margin"
            android:paddingRight="@dimen/activity_horizontal_margin"
            android:paddingBottom="@dimen/activity_vertical_margin"
            tools:context="com.klinker.android.sliding.sample.SampleActivity">
  
            <Button
                android:id="@+id/show_image"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/show_image_activity" />
  
        </LinearLayout>
  
    </ScrollView>
  
</RelativeLayout>

Paso 5: En lugar de usar el método onCreate() vamos a usar el método init().

A) Cree una Actividad llamada ImageActivity . Configuración de imagen usando setImage(R.drawable.profile_picture);

B) El método expandFromPoints(Arg1,Arg2,Arg3,Arg4) se usa para crear animaciones cuando se abre la actividad.

Java

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
  
import com.klinker.android.sliding.SlidingActivity;
  
public class ImageActivity extends SlidingActivity {
    @Override
    public void init(Bundle savedInstanceState) {
        setTitle(R.string.image_activity);
        setContent(R.layout.activity_content);
  
        // no need to set a color here, palette
          // will generate colors for us to be set
        setImage(R.drawable.profile_picture);
  
         // if we wanted to set some manually instead,
           // do this after setting the image
         setPrimaryColors(
                 getResources().getColor(R.color.image_activity_primary),
                 getResources().getColor(R.color.image_activity_primary_dark)
         );
  
         // if we want the image to animate in, then set it after
           // the activity has been created
         // NOTE: this will not change the activity's colors using palette,
           // so make sure you call
         // setPrimaryColors() first
         new Handler().postDelayed(new Runnable() {
             @Override
             public void run() {
                 setImage(R.drawable.profile_picture);
             }
         }, 500);
  
        Intent intent = getIntent();
        if (intent.getBooleanExtra(MainActivity.ARG_USE_EXPANSION, false)) {
            expandFromPoints(
                    intent.getIntExtra(MainActivity.ARG_EXPANSION_LEFT_OFFSET, 0),
                    intent.getIntExtra(MainActivity.ARG_EXPANSION_TOP_OFFSET, 0),
                    intent.getIntExtra(MainActivity.ARG_EXPANSION_VIEW_WIDTH, 0),
                    intent.getIntExtra(MainActivity.ARG_EXPANSION_VIEW_HEIGHT, 0)
            );
        }
    }
}

Paso 6: Crear objeto Botón. Regístrese en el oyente de clics. Dentro del método onClick() inicie la actividad del control deslizante. (ImageActivity.class)

Java

import androidx.appcompat.app.AppCompatActivity;
  
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
  
public class MainActivity extends AppCompatActivity {
  
    public static final String ARG_USE_EXPANSION = "arg_use_expansion";
    public static final String ARG_EXPANSION_LEFT_OFFSET = "arg_left_offset";
    public static final String ARG_EXPANSION_TOP_OFFSET = "arg_top_offset";
    public static final String ARG_EXPANSION_VIEW_WIDTH = "arg_view_width";
    public static final String ARG_EXPANSION_VIEW_HEIGHT = "arg_view_height";
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
  
        setContentView(R.layout.activity_main);
  
        // registering click event
        findViewById(R.id.show_image).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(getApplicationContext(), ImageActivity.class));
            }
        });
    }
}

Producción:

Enlace del proyecto: Haga clic aquí

Publicación traducida automáticamente

Artículo escrito por aniketdalal126 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *