স্ক্রিনটি যখন প্রদর্শিত হবে তখন কোনও ক্ষেত্রের স্বয়ংক্রিয় ফোকাস / কীবোর্ড পপআপ কীভাবে সরিয়ে ফেলবেন?


105

আমার একটি স্ক্রিন রয়েছে যেখানে প্রথম ক্ষেত্রটি একটি সম্পাদনা পাঠ্য, এবং এটি শুরুতে ফোকাস অর্জন করে, সংখ্যার ইনপুট ধরণের পপআপ করে যা খুব বিরক্তিকর

কীভাবে আমি নিশ্চিত করতে পারি যে ক্রিয়াকলাপটি শুরু হয়ে গেলে ফোকাস অর্জিত হয় না, এবং / অথবা ইনপুট প্যানেল উত্থাপিত হয় না?

উত্তর:


157
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0);

অথবা

অ্যাপ্লিকেশন ট্যাগের নীচে ম্যানিফেস্ট ফাইলে ক্রিয়াকলাপের সম্পত্তি সেট করুন

android:windowSoftInputMode="stateHidden"

অ্যান্ড্রয়েড: উইন্ডোসফট ইনপুটমোড অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলে সেট করা অন্য মানগুলির সাথে ORed করা যেতে পারে। মোড সাধারণত একক মানকে বোঝায় তবে এই ক্ষেত্রে মানটি পতাকাগুলির সংগ্রহ collection মানগুলির বিবরণ:Formats: flag Values: adjustNothing, adjustPan, adjustResize, adjustUnspecified, stateAlwaysHidden, stateAlwaysVisible, stateHidden, stateUnchanged, stateUnspecified, stateVisible Specify the default soft-input mode for the main window of this activity. A value besides "unspecified" here overrides any value in the theme.
জেফ মুইর

145

আপনার অ্যাপ্লিকেশন ম্যানিফেস্ট ফাইলে যান এবং সেই কার্যকলাপটির জন্য এই লাইনটি লিখুন আপনি অটো কীবোর্ড পপ-আপ অক্ষম করতে চান dis

android:windowSoftInputMode="stateHidden"

আমার পক্ষে কাজ করেনি। আমি এটিকে কার্যকলাপ_মাইন.এক্সএমএল এ রেখেছি। যখন আমি এটি অনক্রিট () এ রাখি তখন এটি নিখুঁতভাবে কাজ করে। । getWindow () setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
glez

20

প্রোগ্রামগতভাবে কীবোর্ড প্রদর্শিত না হওয়ার জন্য, তবে ডিফল্ট উইজেট এখনও ফোকাস কলটি গ্রহণ করে:

getWindow().setSoftInputMode(WindowManager.
                             LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

ভিতরে onResume()


11
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

ভিতরে উপরে পদ্ধতি কল onCreate () .এটা আটকান softKeyboard দেখানোর জন্য যদি না ব্যবহারকারী নির্বাচন editText দ্বারাtapping or clicking.

বা কেবল android:windowSoftInputMode="stateHidden"ক্রিয়াকলাপ ট্যাগ এ যুক্ত করুনManifest.xml


10

এটি সাধারণত একটি জগাখিচুড়ি হয়। প্রথম জিনিসটি আমি চেষ্টা করি অন্য মাধ্যমে ভিউ দিয়ে ফোকাসটি চুরি করার চেষ্টা করা। আপনার ফোকাসযোগ্য এবং ফোকাসযোগ্য ইনটচমোডও থাকতে হবে।

<TextView
  ...
  android:focusable="true"
  android:focusableInTouchMode="true">

    <requestFocus/>
</TextView>

এইটা কাজ করে. আমি মনে করি এটি একটি পরিষ্কার পদ্ধতির তবে এটি আপনার পরিস্থিতি কেমন তা নির্ভর করে। আমি এই এক গ্রহণ করছি।
জয়দীপডব্লু

5

অন্য ভিউ দখল ফোকাস আছে। ডিফল্টরূপে, যখন কোনও বিন্যাস স্ফীত হয় তখন প্রথম ফোকাসযোগ্য ভিউ ফোকাস পাবে। আপনি এক্সএমএল এর মাধ্যমে আলাদা ভিউতে ফোকাসের অনুরোধ করতে পারেন:

<TextView
    android:layout_width="wrap_parent"
    android:layout_height="wrap_content"
    android:text="Some other view">

    <requestFocus />
</TextView>

এটি যে কোনও দৃশ্যের জন্য কাজ করে।

আপনি যদি এটি প্রোগ্রামগতভাবে করতে চান তবে আপনি ব্যবহার করতে পারেন view.requestFocus()


0
if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED)
{
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
}

3
স্ট্যাকওভারফ্লোতে আপনাকে স্বাগতম! এটি অন্য ফোরামগুলির মতো নয়, আপনি যদি নিজের উত্তর পরিবর্তন করতে চান তবে কেবল editলিঙ্কটি ক্লিক করুন এবং আপনার পরিবর্তনগুলি করুন। এবং দয়া করে আপনার কোড নির্বাচন করে এবং কোড নমুনা বোতামটি ব্যবহার করে {}বা টিপে আপনার কোডটি ফর্ম্যাট করার চেষ্টা করুন Ctrl+K
পিটার ল্যাং

0

যোগ করার পদ্ধতি android:windowSoftInputMode="stateHidden"ম্যানিফেস্টে আপনার কার্যকলাপ একমাত্র কীবোর্ড লুকায় যখন আপনি কার্যকলাপ চালু করছি, বা Google বলেছেন

যখন ব্যবহারকারী দৃ activity়তার সাথে অন্য ক্রিয়াকলাপটি ছেড়ে যাওয়ার কারণে এতে ব্যাক না করে বরং ক্রিয়াকলাপের দিকে এগিয়ে যায়

ব্যবহারকারী পিছনের বোতামটি টিপলে এবং অন্য কোনও ক্রিয়াকলাপ থেকে আপনার ক্রিয়াকলাপে ফিরে আসে, তখনও কীবোর্ডটি আড়াল করতে use android:windowSoftInputMode="stateAlwaysHidden"


-1

এটি চেষ্টা করিনি বা আমি আমার প্রোগ্রামিং কম্পিউটারের কাছেই নেই, তবে আমি সন্দেহ করব যে প্রোগ্রামগতভাবে পিতামাতার দৃষ্টিভঙ্গির প্রতি মনোনিবেশ পাঠানো বা সেই প্রকৃতির কোনও কিছু কৌশলটি করতে পারে - তবে এটি সমাধানের চেয়ে কার্যকরী হতে পারে, তবে আবার এটি পরীক্ষা করতে সক্ষম হয় না একটা চিন্তা


1
আমি চেষ্টা করেছি কিন্তু কাজ করে না। আমি .requestFocus();একটি বোতাম, এবং এখনও কীবোর্ড পপআপ কল।
পেন্টিয়াম

মতামত মন্তব্য হিসাবে যুক্ত করা যেতে পারে
আলবার্তো এম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.