بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

فقط کیبورد انگلیسی باز شود

مدیریت گفتگو
hosseinAmini 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام

میخواستم بدونم که میشه تو برنامه کاری کرد که وقتی روی یه EditText کلیک شد فقط کیبورد انگلیسی باز شه و کاربر نتونه کیبورد رو فارسی کنه؟

ممنون

نظرات

پاسخ‌ها 3

مجتبی یگانه 11 سال پیش

فکر نکنم شدنی باشه ! ، به هر حال باید ورودی ها رو برسی کنید.

یک آرایه از الفبای انگلیسی بسازید بگید اگه داخل این آرایه بود قبول اش کن :)

نظرات

hosseinAmini 11 سال پیش
مرسی، فقط اگر بخوام وقتی که کاربر روی حروف فارسی کلیک کرد چیزی توی EditText نمایش داده نشه و یک پیام نمایش بدم، شدنیه؟ فقط میخوام بدونم که میشه فهمید کاربر روی چه حرفی کلیک کرده قبل از اینکه اون حرف توی EditText نوشته شه؟
Criss 11 سال پیش
اقا مجتبی خسته نباشی < برای همین مثالی که گفتید از آرایه استفاده کنیم ؟ میشه از کد اسکی استفاده کرد ؟ که نیاز به آرایه نباشه ؟ روش استفاده اش چطوری میشه ؟
مجتبی یگانه 11 سال پیش
@حسین رضایی : ببخشید 4 ماه پیش پیامتون رو ندیدم D: ، میتونید یک کاستوم ویو درست کنید و Text Watcher براش بنویسید و Befor Text Change اش رو استفاده کنید و بگید اگر در فلان آرایه بود ، ولی با وجود جواب دوستون و استفاده از android:digit دیگه نیازی به این کار نیست و خود اندروید انجامش میده :) ، هر چند این طوری می تونید یه پیغام مناسب هم بدید
مجتبی یگانه 11 سال پیش
واقعیت اش تو اندروید تا الان نیاز به استفاده از کد اسکی نداشتم ، ولی تو جاوا وقتی یک char رو به int کست کنید ، میشه کد اسکی کارکتر ، حالا کافیه رنج حروفی که میخواین رو پیدا کنید و با یه شرط ساده برسی کنید :)
AhmadVB 11 سال پیش

شاید این کاملا مشکل شما را حل نکند ولی با این کد می توانید پیش فرض کیبورد را تغییر دهید.

import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;

public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

String languageToLoad = "fa"; // your language
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics());
this.setContentView(R.layout.main);
}
}

مطالب بیشتر در اینجا

نظرات

AhmadVB 11 سال پیش

همچنین در صورتی که بخواهید فقط اجازه دهید کاراکتر های خاصی قابل تایپ باشند و باقی کاراکتر ها اجازه تایپ شدن نداشته باشند می توانید خصوصیت Digits را این طور تنظیم کنید :

 android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 "

نظرات

Criss 11 سال پیش
فکر کنم این روش بهترین باشه _ البته میتونند کلا کیبورد نرم افزاری رو غیر فعال کنند و خودشو یک کیبورد بسازند (مثل پروژه HangMan)
hamed 11 سال پیش
دوست من نیاز به ساخت کیبورد به روش هنگ من نیست. می تونن کیبوردی با تمام نیازهای شخصی خودشون بسازند. در این لینک پروژه و لینک مربوطه داده شده است.
amin2525 11 سال پیش
چجوری اصلا کلا کیبورد غیر فعال میشه؟

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .