آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

right to left کردن اسنک بار

کوثر  8 سال پیش  8 سال پیش
0 0

دوستان خسته نباشین.چطوری میشه اسنک بار رو برای متن های فارسی RTL کرد؟؟؟تمام کدهای stackoverflow رو تست گرفتم اما هیچ کدوم کار نمیکنن و همچنان متن فارسی را از چپ نمایش میده.کسی این کار و کرده راهنمایی کنه ممنونم

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
مسعود فرمانی  8 سال پیش
0 0

اسنک بار از یک تکست ویو و یک باتن تشکیل شده.. شما میتونید مثل همه تکست ویوهایی که توی پروژه هاتون ایجاد کردید یه رفرنس به اون تکست ویو بدست بیارید و در ادامه میتونید تغییرات دلخواه خودتون رو روش اعمال کنید :

آی دیِ تکست ویوِ اسنک بار اینه : 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();
0 0
این متدی که اینجا ازش استفاده کردم یعنی : setTextAlignment از api17 به بعد به فرموورک اضافه شده و توی نسخه های پایین تر کرش میکنه.یه راه دیگه رو هم امتحان کردم که جواب داد (البته زمانیکه داری از AppCompatActivity استفاده میکنی) که توی پاسخ پایینی مینویسم : (به پایین مراجعه کن) (8 سال پیش)
پاسخ به سوال 
مسعود فرمانی  8 سال پیش
0 0

برای اینکه توی همه نسخه های اندروید برنامت کار کنه و بتونی متن اسنک بار رو راست چین کنی علاوه بر روش بالا ( api >17) از این روش هم میتونی استفاده کنی . textView که به عنوان آرگومان اول پاس دادم همون رفرنسیه که از تکست ویوِ اسنک بار گرفتم :

ViewCompat.setLayoutDirection(textView,ViewCompat.LAYOUT_DIRECTION_RTL);

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