यह उदाहरण दर्शाता है कि जब उपयोगकर्ता भाषा का चयन करता है तो मैं ऐप की भाषा कैसे बदलूं।
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<स्पिनर android:id="@+id/spinner" android:layout_width ="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" />
चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ें <पूर्व>आयात android.content.Intent;import android.content.res.Configuration;import android.content.res.Resources;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util .DisplayMetrics;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Spinner;import android.widget.Toast;import java.util.ArrayList;import java.util. सूची; आयात java.util.Locale; सार्वजनिक वर्ग MainActivity AppCompatActivity को बढ़ाता है {स्पिनर स्पिनर; लोकेल लोकेल; स्ट्रिंग करंटलैंग्वेज ="एन", करंटलैंग; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); currentLanguage =getIntent ()। getStringExtra (currentLang); स्पिनर =findViewById (R.id.spinner); सूची <स्ट्रिंग> सूची =नया ऐरेलिस्ट <> (); list.add ("भाषा चुनें"); सूची जोड़ें ("अंग्रेजी"); list.add("स्पेनिश"); list.add ("फ़्रैंक"); list.add ("हिंदी"); ArrayAdapter<स्ट्रिंग> एडेप्टर =नया ArrayAdapter<>(यह, R.layout.support_simple_spinner_dropdown_item, सूची); एडेप्टर.सेटड्रॉपडाउन व्यू रिसोर्स (android.R.layout.simple_spinner_dropdown_item); स्पिनर.सेट एडेप्टर (एडाप्टर); spinner.setOnItemSelectedListener (नया एडेप्टर व्यू। ऑनइटम सेलेक्टेड लिस्टनर () {@ ओवरराइड पब्लिक शून्य पर इटैम सेलेक्टेड (एडाप्टर व्यू > पैरेंट, व्यू व्यू, इंट पोजीशन, लॉन्ग आईडी) {स्विच (पोजिशन) {केस 0:ब्रेक; केस 1:सेटलोकेल ("एन "); टूटना; केस 2:सेटलोकेल ("एस"); टूटना; केस 3:सेटलोकेल ("एफआर"); टूटना; केस 4:सेटलोकेल ("हाय"); ब्रेक; }} @ ओवरराइड सार्वजनिक शून्य पर कुछ भी नहीं चुना गया (एडाप्टर व्यू > अभिभावक) { } }); } निजी शून्य सेटलोकेल (स्ट्रिंग लोकेलनाम) {अगर (! localeName.equals(currentLanguage)) { लोकेल =नया लोकेल (लोकेलनाम); संसाधन res =getResources (); डिस्प्लेमेट्रिक्स डीएम =res.getDisplayMetrics (); कॉन्फ़िगरेशन कॉन्फ़ =res.getConfiguration (); conf.locale =स्थान; res.updateConfiguration(conf, dm); इरादा ताज़ा करें =नया इरादा (यह, MainActivity.class); रिफ्रेश.पुटएक्स्ट्रा (करंटलैंग, लोकेलनाम); प्रारंभ गतिविधि (ताज़ा करें); } और { Toast.makeText(MainActivity.this, "भाषा पहले से चुनी गई है!", Toast.LENGTH_SHORT)। शो (); } } सार्वजनिक शून्य onBackPressed() {इरादा इरादा =नया इरादा (इरादा। ACTION_MAIN); आशय। जोड़ें श्रेणी (इरादा। CATEGORY_HOME); इंटेंट.सेटफ्लैग्स (इरादा.FLAG_ACTIVITY_CLEAR_TOP); स्टार्टएक्टिविटी (इरादा); समाप्त(); सिस्टम। बाहर निकलें (0); }}पूर्व>चरण 4 - मान-एस, मान-एफआर, मान-हाय बनाएं और निम्न कोड जोड़ें -
values-hi/strings.xml
नमूना धन्यवाद
values-fr/strings.xml
नमूना जे वोस रीमर्सी
values-es/strings.xml
<संसाधन>नमूना आभार
strings.xml
नमूना धन्यवाद
चरण 5 - निम्नलिखित कोड को androidManifest.xml में जोड़ें
<एप्लिकेशन एंड्रॉइड:अनुमति बैकअप ="सच" एंड्रॉइड:आइकन ="@ मिपमैप / आईसी_लॉन्चर" एंड्रॉइड:लेबल ="@ स्ट्रिंग / ऐप_नाम" एंड्रॉइड:राउंडआईकॉन ="@ मिपमैप / आईसी_लॉन्चर_राउंड" एंड्रॉइड:सपोर्ट आरटीएल ="सच" एंड्रॉइड :theme="@style/AppTheme"> <गतिविधि android:name=".MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई android:name="android.intent.action.MAIN" /> <श्रेणी android:name=" android.intent.category.LAUNCHER" />
आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक को खोलें और टूलबार से रनिकॉन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -