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

آموزش تراز بندی متن (Justify)

مجتبی یگانه  12 سال پیش  11 سال پیش
+32 0

خیلی ها میگن اندروید ترازبندی متن نداره  و من هم خیلی دنبالش نگشته بودم ، تا اینکه امروز بهش نیاز داشتم و دیدم آقای محسن نوابی عزیز یک کتابخانه کد باز برای این کار در اینجا قرار دادند- ازش استفاده کردم و مشکلی نداشت ، فونت رو هم کامل ساپورت میکنه پس دیگه دلیلی نمیمونه کل من آموزشش رو نزارم D: 

اکثر شما دوستان با استفاده از پروژه ها به صورت کتابخانه مشکل دارید پس مثل همیشه یک فایل jar با حجم 146 KB خروجی من شد !

خروجی :

0 0
خیلی ممنون مجتبی جان (12 سال پیش)
0 0
چه برنامه هایی هم نوشته. واقعا جالب بودن. ایشون از کاربرای این سایتن؟ (12 سال پیش)
0 0
اینم یه معایبی داره البته من خودم هنوز امتحان نکردم رو نظر دوستان گرام لینک گفتم (12 سال پیش)
0 0
عمده ترین مشکلش در داینامیک نبودنشه.. در واقع بیشتر به درد نمایش متون ثابت میخوره تا متون داینامیک. (12 سال پیش)
0 0
مشکل داره برادر من ! وقتی متن فارسی باشه و توش عدد و کلمه لاتین باشه به هم میریزه. البته وقتی که متن یا عدد در آخر خط قبل یا اول خط جدید باشه این مشکل وجود داره. این عکسی که شما گذاشتید متن لاتین جای بحرانی ای نیست ! البته توی بعضی گوشیها هم این کلاس کلا قاطی میکنه متن رو! بهش اطمینان کامل نمیشه کرد. (12 سال پیش)
0 0
امین جان دقیقا یعنی چی ؟! ، من خودم تو 2 حالت استفاده کردم ، یکی اینکه از روی یک لایه نمونه بسازم Inflate کنم ، یکی هم زمان اجرا مشکلی ندیدم (12 سال پیش)
0 0
@rarCoder - بیشتر برسی میکنم اما تا الان مشکلی ندیدم ! (12 سال پیش)
0 0
مرسی (12 سال پیش)
0 0
مرسی (12 سال پیش)
0 0
من اینو تو Github مطالعه کرده بودم کاربردیه ولی ممنون مجتبی جان (12 سال پیش)
0 0
یه تست ساده: با استفاده از یک SeekBar اندازه متن رو تغییر بده. متوجه میشه :-) (12 سال پیش)
0 0
بدترین و فجیح ترین مشکلی که داره و تازه متوجه شدم ، Html.fromHtml رو ساپورت نمیکنه :(( (12 سال پیش)
0 0
این چرا امپورت نمیشه؟! (12 سال پیش)
0 0
add ability to dynamically change text size,color,lang and direction بروز شد :) (12 سال پیش)
0 0
سلام: آقا نمیشه پروژه تون رو ایمپورت کرد دلیلشش چی میتونه باشه؟ (11 سال پیش)
+1 0
اقا یه سوال : نمیشه یه متن بزرگ گذاشت تو یه تکست ویو برا نمایش؟ من مشکل فونت را حل کردم ولی اگه اینکارا بکنم تو گوشی گوچک بزرگ و تو تبلت خیلی کوچک میشه ایا راهی هست؟ممنون (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  12 سال پیش
+10 0

چون ما خودمون نوشتن کاستوم کنترل رو بلدیم پس تا حدودی میفهمیم داستان چیه ! ، یک کاستوم کنترل 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 );

فکر نکنم درگ کردن یک فایل سخت تلقی بشه ، پس کار سختی نیست :)

موفق باشید

0 0
آقا دمت گرم (12 سال پیش)
پاسخ به سوال 
rayacoder  12 سال پیش
0 0

یکی از مشکلات جدید که برای این کتابخانه کشف کردم اینه که  وقتی متنی که با این روش ساخته شده مخفی باشه (به صورت GONE)  و بعد بخوایم اون رو INVISIBLE کنیم متن نمایش داده نمیشه. روشهایی رو تست کردم اما باز مشکل داشت.  البته باید گفت که تکست ویوهای عادی این مشکل رو ندارند. گفتم که بگم نگید بلد نیست D:

+1 0
من از وقتی دیدم html نداره گذاشتمش کنار ! (12 سال پیش)

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