यह उदाहरण Android में स्लाइड अप/डाउन एनिमेशन के साथ व्यू को दिखाने और छिपाने के बारे में है।
स्लाइड एनिमेशन के साथ व्यू दिखाएं/छिपाएं
चरण 1 - नया प्रोजेक्ट बनाएं
Android Studio में एक नया प्रोजेक्ट बनाएं: File → New Project पर जाएं और आवश्यक विवरण भरें।
चरण 2 - लेआउट XML में कोड जोड़ें
res/layout/activity_main.xml में निम्नलिखित कोड जोड़ें:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"
android:layout_width="150dp"
android:text="Click"
android:layout_height="wrap_content"/>
<LinearLayout
android:id="@+id/view"
android:background="#a6e1aa"
android:orientation="vertical"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_margin="20dp"
android:layout_height="200dp">
<EditText
android:hint="User name"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:hint="Password"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
उपरोक्त कोड में, हमने एनिमेशन के साथ LinearLayout को दिखाने/छिपाने के लिए बटन लिया है।
चरण 3 - MainActivity.java में कोड जोड़ें
src/MainActivity.java में निम्नलिखित कोड जोड़ें:
package com.example.andy.myapplication;
import android.os.Bundle;
import android.view.View;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.LinearLayout;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private boolean opened = false;
private LinearLayout view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view = findViewById(R.id.view);
view.setVisibility(View.INVISIBLE);
findViewById(R.id.button).setOnClickListener(v -> {
if (!opened) {
view.setVisibility(View.VISIBLE);
TranslateAnimation animate = new TranslateAnimation(
0, 0, view.getHeight(), 0);
animate.setDuration(500);
animate.setFillAfter(true);
view.startAnimation(animate);
} else {
TranslateAnimation animate = new TranslateAnimation(
0, 0, 0, view.getHeight());
animate.setDuration(500);
animate.setFillAfter(true);
view.startAnimation(animate);
view.setVisibility(View.INVISIBLE);
}
opened = !opened;
});
}
}
उपरोक्त कोड में, हम ट्रांसलेट एनिमेशन का उपयोग करके LinearLayout को दिखा और छिपा रहे हैं:
व्यू दिखाने के लिए:
TranslateAnimation animate = new TranslateAnimation(0, 0, view.getHeight(), 0); animate.setDuration(500); animate.setFillAfter(true); view.startAnimation(animate);
व्यू छिपाने के लिए:
TranslateAnimation animate = new TranslateAnimation(0, 0, 0, view.getHeight()); animate.setDuration(500); animate.setFillAfter(true); view.startAnimation(animate);
ऐप चलाएं
अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें और ऐप चलाएं। बटन पर क्लिक करने पर व्यू स्लाइड अप होकर दिखेगा, फिर से क्लिक करने पर स्लाइड डाउन होकर छिप जाएगा।
आधुनिक विकल्प: नए Android संस्करणों के लिए
ViewPropertyAnimatorयाMotionLayoutका उपयोग करने पर विचार करें जो अधिक स्मूथ और लचीले होते हैं।