Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

एंड्रॉइड पर वर्चुअल कीबोर्ड की दृश्यता कैसे जांचें?

<घंटा/>

कुछ स्थितियां हैं, हमें यह पता लगाना चाहिए कि किसी विशेष गतिविधि में कीबोर्ड दिखाई दे रहा है या नहीं। इस उदाहरण में हम एंड्रॉइड पर वर्चुअल कीबोर्ड की दृश्यता की जांच कर सकते हैं।

चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।

   <बटन एंड्रॉइड:आईडी ="@ + आईडी / बटन" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड:टेक्स्ट ="छिपाने के लिए यहां क्लिक करें" ऐप:लेआउट_कॉन्स्ट्रेनबॉटम_टोबॉटमऑफ ="पैरेंट" ऐप:लेआउट_कॉन्स्ट्रेन लेफ्ट_टो लेफ्टऑफ ="पैरेंट" ऐप:layout_constraintRight_toRightOf ="पैरेंट" ऐप:layout_constraintTop_toTopOf ="parent" />

चरण 3 - src/MainActivity.java

में निम्न कोड जोड़ें
import android.graphics.Rect;import android.os.Build;import android.os.Bundle;import android.support.annotation.RequiresApi;import android.support.constraint.ConstraintLayout;import android.support.v7.app .AppCompatActivity; आयात android.util.Log; android.view.View आयात करें; android.view.ViewTreeObserver आयात करें; android.view.inputmethod.InputMethodManager आयात करें; android.widget.Button आयात करें; android.widget.EditText आयात करें; एंड्रॉइड आयात करें। विजेट.टोस्ट;पब्लिक क्लास मेनऐक्टिविटी विस्तार करती है AppCompatActivity व्यू.ऑनक्लिक लिस्टनर {ConstraintLayout ConstraintLayout; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); बटन बटन =findViewById (R.id.button); एडिटटेक्स्ट एडिटटेक्स्ट=findViewById(R.id.editext); EditText.requestFocus (); ConstraintLayout=findViewById(R.id.rootview); ConstraintLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {@Override public void onGlobalLayout() {Rect r =new Rect(); ConstrestLayout.getWindowVisibleDisplayFrame(r); int ScreenHeight =ConstrestLayout.getRootView().getHeight(); इंट कीपैड हाइट =स्क्रीनहाइट - आर. बॉटम; अगर (कीपैड हाइट> स्क्रीनहाइट * 0.15) { Toast.makeText(MainActivity.this,"कीबोर्ड दिखा रहा है", Toast.LENGTH_LONG)। .this,"कीबोर्ड बंद", Toast.LENGTH_LONG).show(); } } }); बटन.सेटऑनक्लिक लिस्टनर (यह); } @RequiresApi(api =Build.VERSION_CODES.O) @Override public void onClick(View v) {स्विच (v.getId()) { case R.id.button:HideSoftkeybard(v); तोड़ना; } } निजी शून्य HideSoftkeybard (देखें v) { InputMethodManager inputMethodManager =(InputMethodManager) getSystemService (INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow (v.getWindowToken (), 0); }} 

उपरोक्त कोड में हमने विशेष गतिविधि में दृश्य समूह परिवर्तनों को खोजने के लिए viewTreeObserver श्रोता का उपयोग किया है। उस प्रेक्षक में हमें निम्नलिखित कोड का उपयोग करके मूल तत्व की ऊँचाई ज्ञात होती है -

इंट स्क्रीनहाइट =ConstraintLayout.getRootView().getHeight();

अब हमें नीचे दिखाए अनुसार कीबोर्ड की ऊंचाई ज्ञात करनी है

Rect r =new Rect();constraintLayout.getWindowVisibleDisplayFrame(r);int keypadHeight =ScreenHeight - r.bottom;

अब हमें कीबोर्ड की ऊंचाई की तुलना रूटव्यू हाइट से करनी होगी जैसा कि नीचे दिखाया गया है

अगर (कीपैड हाइट> स्क्रीनहाइट * 0.15) { Toast.makeText(MainActivity.this,"कीबोर्ड दिखा रहा है", Toast.LENGTH_LONG).show();} और { Toast.makeText(MainActivity.this,"कीबोर्ड बंद" ,टोस्ट.LENGTH_LONG).शो ();}

चरण 4 − नीचे दिखाए गए अनुसार AndroidManifest.xml फ़ाइल में निम्न कोड जोड़ें

 <एप्लिकेशन android:allowBackup ="true" android:icon ="@mipmap/ic_launcher" android:label ="@string/app_name" android:roundIcon ="@mipmap/ic_launcher_round" android:supportsRtl ="true" "एंड्रॉइड:थीम ="@ स्टाइल/ऐपथीम"> <गतिविधि एंड्रॉइड:नाम ="। मेनएक्टिविटी" एंड्रॉइड:विंडोसॉफ्टइनपुटमोड ="स्टेटऑलवेज विजिबल"> <इंटेंट-फिल्टर> <एक्शन एंड्रॉइड:नाम ="android.intent.action.MAIN" /> <श्रेणी android:name ="android.intent.category.LAUNCHER" />   

उपरोक्त कोड में हमने windowssoftInputMode को StateAlwaysVisible के रूप में जोड़ा है। यह तब उपयोगी होता है जब संपादन टेक्स्ट अनुरोध केंद्रित होता है, यह कीबोर्ड दिखाएगा।

आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और रन पर क्लिक करें टूलबार से एंड्रॉइड पर वर्चुअल कीबोर्ड की दृश्यता कैसे जांचें? आइकन। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा

एंड्रॉइड पर वर्चुअल कीबोर्ड की दृश्यता कैसे जांचें?

उपरोक्त आउटपुट में, जब कीबोर्ड प्रदर्शित होता है, तो यह संदेश दिखाएगा जैसा कि कीबोर्ड दिखा रहा है।

एंड्रॉइड पर वर्चुअल कीबोर्ड की दृश्यता कैसे जांचें?

कीबोर्ड को छिपाने के लिए एक बटन पर क्लिक करें। जैसा कि ऊपर दिखाया गया है, यह संदेश को कीबोर्ड के बंद होने पर दिखाएगा।


  1. Android पर कीबोर्ड इतिहास कैसे मिटाएं

    हर बार जब आपको अपने स्मार्टफोन पर टाइप करने की आवश्यकता होती है, तो आपको एक ऑन-स्क्रीन कीबोर्ड प्रदान किया जाता है। उदाहरण के लिए, जब आप खोज करने के लिए Google खोलते हैं या टेक्स्ट के लिए ऐप्स खोलते हैं, तो आप उसी कीबोर्ड का उपयोग करके लिखते हैं। लेकिन क्या आप जानते हैं कि आपका कीबोर्ड डेटा स्टोर कर

  1. Android फ़ोन पर कीबोर्ड का आकार कैसे बदलें

    आपने देखा होगा कि लोगों को बड़ी फोन स्क्रीन पसंद आने लगी है। न केवल वे ठाठ दिखते हैं, बल्कि पुराने उपयोगकर्ताओं के लिए, दृश्यता में नाटकीय रूप से वृद्धि हुई है। हालाँकि, स्क्रीन के विस्तार ने उन उपयोगकर्ताओं के लिए समस्याएँ खड़ी कर दी हैं जिन्हें एक हाथ से टाइप करने की आदत है। लेकिन शुक्र है कि इस स

  1. Android पर बैटरी के स्वास्थ्य की जांच कैसे करें

    आसपास के अधिकांश आइटम कार्य करने के लिए किसी न किसी रूप में बैटरी का उपयोग करते हैं। मोबाइल फोन से लेकर रिमोट कंट्रोल तक बैटरी हमारे जीवन का एक अभिन्न अंग बन गई है, वे हर जगह हैं। जब मोबाइल की बात आती है तो उनकी लिथियम-आयन बैटरी लंबे समय तक इस्तेमाल के बाद खराब हो जाती है। बैटरी खराब होना अपरिहार्य