آموزش تراز بندی متن (Justify)
خیلی ها میگن اندروید ترازبندی متن نداره و من هم خیلی دنبالش نگشته بودم ، تا اینکه امروز بهش نیاز داشتم و دیدم آقای محسن نوابی عزیز یک کتابخانه کد باز برای این کار در اینجا قرار دادند- ازش استفاده کردم و مشکلی نداشت ، فونت رو هم کامل ساپورت میکنه پس دیگه دلیلی نمیمونه کل من آموزشش رو نزارم D:
اکثر شما دوستان با استفاده از پروژه ها به صورت کتابخانه مشکل دارید پس مثل همیشه یک فایل jar با حجم 146 KB خروجی من شد !
خروجی :
چون ما خودمون نوشتن کاستوم کنترل رو بلدیم پس تا حدودی میفهمیم داستان چیه ! ، یک کاستوم کنترل extends شده از TextView هست و نحوه ی تعریف اش در xml لایه ی مورد نظرمون به این شکل هست :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ir.noghteh.JustifiedTextView
xmlns:noghteh="http://noghteh.ir"
android:id="@+id/txtText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:padding="25dp"
noghteh:text="Text !"
noghteh:textSize="20sp" >
</ir.noghteh.JustifiedTextView>
</LinearLayout>
اما برای استفاده ازش باید این فایل Jar رو در مسیر res/libs قرار بدید :)
اگر در نمایش گرافیکی لایه مشکلی وجود داشت نگران نباشید ، Eclipse با کاستوم کنترل ها یکم مشکل داره ، اما خروجی نهایی بی نقص خواهد بود.
برای ایجاد کنترل در لحظه اجرا یا تغییر متن ، تغییر فونت و ... هیچ فرقی با TextView نداره ، فقط باید به این شکل Cast بشه
JustifiedTextView txtJustified = (JustifiedTextView) TextViewLayout.findViewById(R.id.txtJustified );
فکر نکنم درگ کردن یک فایل سخت تلقی بشه ، پس کار سختی نیست :)
موفق باشید
یکی از مشکلات جدید که برای این کتابخانه کشف کردم اینه که وقتی متنی که با این روش ساخته شده مخفی باشه (به صورت GONE) و بعد بخوایم اون رو INVISIBLE کنیم متن نمایش داده نمیشه. روشهایی رو تست کردم اما باز مشکل داشت. البته باید گفت که تکست ویوهای عادی این مشکل رو ندارند. گفتم که بگم نگید بلد نیست D:
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
