right to left کردن اسنک بار
دوستان خسته نباشین.چطوری میشه اسنک بار رو برای متن های فارسی RTL کرد؟؟؟تمام کدهای stackoverflow رو تست گرفتم اما هیچ کدوم کار نمیکنن و همچنان متن فارسی را از چپ نمایش میده.کسی این کار و کرده راهنمایی کنه ممنونم
اسنک بار از یک تکست ویو و یک باتن تشکیل شده.. شما میتونید مثل همه تکست ویوهایی که توی پروژه هاتون ایجاد کردید یه رفرنس به اون تکست ویو بدست بیارید و در ادامه میتونید تغییرات دلخواه خودتون رو روش اعمال کنید :
آی دیِ تکست ویوِ اسنک بار اینه : android.support.design.R.id.snackbar_text
خب واسه اینکه یک رفرنس به این تکست ویو بدست بیارید همونطور که میدونید به روش زیر عمل میکنیم :
Snackbar snackbar =
Snackbar.make(
view,
"some message",
Snackbar.LENGTH_SHORT);
TextView textView =
(TextView) snackbar.getView()
.findViewById(
android.support.design.R.id.snackbar_text // in hamun id k goftam
);
خب حالا میخوایم TextAlign رو راست چین کنیم :
textView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_END); // faghat az api 17 be bala mitunid az
// in method estefade konid!
در آخر هم یادتون نره که دستور نمایش اسنک بار رو هم بنویسید! :
snackbar.show();
برای اینکه توی همه نسخه های اندروید برنامت کار کنه و بتونی متن اسنک بار رو راست چین کنی علاوه بر روش بالا ( api >17) از این روش هم میتونی استفاده کنی . textView که به عنوان آرگومان اول پاس دادم همون رفرنسیه که از تکست ویوِ اسنک بار گرفتم :
ViewCompat.setLayoutDirection(textView,ViewCompat.LAYOUT_DIRECTION_RTL);
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .