PDA

View Full Version : استفاده از 2 کلاس فارسی ساز



sajadpm
یک شنبه 27 مرداد 1392, 11:45 صبح
با سلام و خسته نباشید خدمت اساتید محترم

در بیشتر نرم افزار ها چند نوع فارسی ساز استفاده می شود که می توان هر کدام رو که درست مشاهده می شود انتخاب کرد حالا سوال من اینه که چجوری میشه از 2 یا چند کلاس فارسی ساز استفاده کرد . مثلا من یک text view دارم که به این صورت reshape کردم :
text.setText(persianreshape(string));
اگر بخواهم توسط یک کلاس دیگه reshape کنم باید چه کار کنم البته به غیر از این که در SharedPreference مقداری رو به نام rehsape ذخیره کنیم و به این صورت بررسی کنیم :


if (reshape == 1){
text.setText(persianreshape(string));
} else if (reshape == 2) {
text.setText(persianreshape2(string));
}


آیا راهی هست ؟

rubiks.kde
یک شنبه 27 مرداد 1392, 11:58 صبح
برای این کار بیا یک تابع بنویس که اون کار ریشیپ رو انجام بده(بر اساس نوع ریشیپ که توسط کاربر انتخاب شده نوع ریشیپ رو انتخاب کنه)

تقریبا چیزی مثل این :

public static final String Convert(Context con,String In) {

String type = "4";

if(con() != null){

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(co);

type = settings.getString("fontType", "4");

}

if(type.equals("0")){
return PersianReshape.reshape1(In);
}else if(type.equals("1")){
return PersianReshape.reshape(In);
}else if(type.equals("2")){
return PersianReshape.reshape_browser(In);
}else if(type.equals("3")){
return PersianReshape.reshape_reverse(In);
}else if(type.equals("4")){
return In;
}

}

حالا هر جا میخواهی ریشیپ کنی از این تابع استفاده کن.این تابع براساس اون چیزی که ذخیره شده ریشیپ میکنه.

sajadpm
یک شنبه 27 مرداد 1392, 12:19 عصر
تشکر و سپاس فراوان خیلی عالیه . ببخشید یک سوال دیگه پیش اومد فرق بین reshape و reshape_browser و reshape_reverse چی هست ؟ و اینکه کلاس farsi رو هم لازم است اضافه کنم ؟

rubiks.kde
یک شنبه 27 مرداد 1392, 12:34 عصر
عملکرد reshape_browser رو دقیق نمیدونم ولی reshape_reverse برای کلمه هایی که به صورت برعکس هستند به کار میره مثل این (د ی ع س) .کلاس farsi رو هم استفاده کنید ولی این کلاس یه مشکل داره و انم اینکه اگه توی جمله عدد یا حرف انگلیسی باشه توی گوشی هایی که فارسی پشتیبانی میکنند بهم میریزه.

بازهم تست کنید ببینید کدوم بهتره (farsi توی شبیه ساز خوبه)