आपका प्रश्न: ProgressBar Android में दिखाई देने के दौरान उपयोगकर्ता सहभागिता को कैसे अक्षम करें?
उपयोगकर्ता इंटरैक्शन को अक्षम करने के लिए आपको बस निम्नलिखित कोड जोड़ना होगा
getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
उपयोगकर्ता इंटरैक्शन वापस पाने के लिए आपको बस निम्नलिखित कोड जोड़ना होगा
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
यहाँ एक उदाहरण दिया गया है:
ध्यान दें: मैं आपको केवल एक उदाहरण दे रहा हूँ ताकि यह दिखाया जा सके कि उपयोगकर्ता सहभागिता को कैसे निष्क्रिय या बरकरार रखा जा सकता है
अपने xml में प्रगति पट्टी जोड़ें। इस तरह से आगे बढ़ें
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:visibility="gone"/>
MainActivity में जब एक बटन दबाया जाता है तो आप प्रोग्रेसबार दिखाते हैं और उपयोगकर्ता इंटरैक्शन को अक्षम करते हैं।
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView = (ImageView) findViewById(R.id.imageView);
mProgressBar = (ProgressBar) findViewById(R.id.progressBar);
mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mProgressBar.setVisibility(View.VISIBLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
}
});
}
और जब उपयोगकर्ता बैकप्रेस्ड होता है तो आप प्रोग्रेसबार को हटा देते हैं फिर से उपयोगकर्ता इंटरैक्शन को बनाए रखते हैं। इस तरह से
@Override
public void onBackPressed() {
super.onBackPressed();
mProgressBar.setVisibility(View.GONE);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
}
यदि आप डिसएबल और ग्रेयर्ड आउट डिस्प्ले की सुविधा जोड़ना चाहते हैं, तो आपको अपने xml लेआउट फ़ाइल में एक रैखिक लेआउट जोड़ना होगा जो कि माता-पिता को भरता है। इसकी पृष्ठभूमि # B0000000 पर सेट करें और इसके visibilty
लिए GONE
। फिर प्रोग्रामेटिकली इसे सेट visibility
करें VISIBLE
।
उममीद है कि इससे मदद मिलेगी!