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.
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