परिचय
उदाहरण में जाने से पहले, हमें पता होना चाहिए कि Android में View Stub क्या है। यह एक शून्य-आकार का लेज़ी इन्फ्लेट व्यू है। यह रनटाइम पर इन्फ्लेट होगा। inflate() विधि का उपयोग करके, यह रनटाइम पर इन्फ्लेट होगा और विंडो मैनेजर या व्यू ग्रुप में जुड़ जाएगा। setVisibility(int) का उपयोग करके हम Android में View Stub को दिखा और छिपा सकते हैं।
यह उदाहरण दर्शाता है कि Android में View Stub का उपयोग कैसे करें।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2: activity_main.xml में लेआउट जोड़ें
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/layout"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="show"/>
<Button
android:id="@+id/hide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hide"/>
<ViewStub
android:id="@+id/viewStub"
android:layout_width="match_parent"
android:layout="@layout/childlayout"
android:layout_height="300dip">
</ViewStub>
</LinearLayout>
उपरोक्त कोड में, हमने शो और हाइड के रूप में दो बटन बनाए हैं। यह हमारी आवश्यकता के अनुसार View Stub लेआउट को दिखाएगा और छिपाएगा। अगला, हमने View Stub घोषित किया और लेआउट को इन्फ्लेट किया जैसा कि नीचे दिखाया गया है:
android:layout="@layout/childlayout"
उपरोक्त कोड सूचित करता है कि हमने चाइल्ड लेआउट को View Stub में इन्फ्लेट किया है। जब आप चाइल्ड लेआउट को View Stub में घोषित करते हैं तो यह स्वचालित रूप से इन्फ्लेट नहीं होगा। हमें एक्टिविटी क्लास में inflate विधि को कॉल करना होगा।
चरण 3: MainActivity.java में कोड जोड़ें
package com.example.andy.myapplication;
import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewStub;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@TargetApi(Build.VERSION_CODES.O)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ViewStub viewStub = findViewById(R.id.viewStub);
viewStub.inflate();
Button show = findViewById(R.id.show);
show.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewStub.setVisibility(View.VISIBLE);
}
});
Button hide = findViewById(R.id.hide);
hide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewStub.setVisibility(View.GONE);
}
});
}
}
उपरोक्त कोड में, हमने View Stub घोषित किया और View Stub को इन्फ्लेट किया जैसा कि नीचे दिखाया गया है:
final ViewStub viewStub = findViewById(R.id.viewStub); viewStub.inflate();
शो बटन पर क्लिक करें, यह View Stub को दृश्यमान करेगा। अब हाइड बटन पर क्लिक करें, यह View Stub को छिपाएगा।
चरण 4: Manifest.xml
Manifest.xml में कोई बदलाव करने की आवश्यकता नहीं है।
ऐप चलाएं
मान लें कि आपने अपना वास्तविक Android मोबाइल डिवाइस कंप्यूटर से कनेक्ट किया है। Android Studio से ऐप चलाने के लिए, अपनी प्रोजेक्ट की एक्टिविटी फ़ाइलों में से एक खोलें और टूलबार से Run आइकन
पर क्लिक करें। अपने मोबाइल डिवाइस को विकल्प के रूप में चुनें और फिर अपना मोबाइल डिवाइस जांचें जो डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा।

प्रारंभ में, यह उपरोक्त जैसा दिखेगा, जब आप हाइड बटन पर क्लिक करते हैं तो यह नीचे दिखाए अनुसार गायब हो जाएगा:

अब शो बटन पर क्लिक करें, यह नीचे दिखाए अनुसार ImageView दिखाएगा:
