آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

راست چین، چپ چین و یا وسط چین کردن متن در TextView ، در برنامه نویسی اندروید

برای راست چین، چپ چین و یا وسط چین کردن متن در یک TextView ، دو روش را می توان به کار برد :

1- با نوشتن مشخصه هایی در فایل xml (لایه گرافیکی متناظر با Activity) در تگ مربوط به عنصر TextView

2- با نوشتن کدهای java در فایل java مربوط به Activity

روش اول : با نوشتن مشخصه هایی در فایل xml (لایه گرافیکی متناظر با Activity) در تگ مربوط به عنصر TextView

فایل xml را باز کرده و تگ مربوط به TextView مورد نظرمان را پیدا می کنیم :

قبل از هر چیز، بهتر است که دو مشخصه را معرفی کنیم :

مشخصه gravity : برای تعیین چگونگی قراگیری متن در خود فضای TextView به کار می رود

مشخصه layout_gravity : برای تعیین چگونگی قرارگیری عنصر TextView در لایه گرافیکی (نسبت به خود لایه و سایر عنصرهای لایه) به کار می رود

اکنون چگونگی استفاده از آنها را شرح می دهیم :

ابتدا بررسی می کنیم که مشخصه مربوط به عرض عنصر TextView به گونه ای باشد که کل عرض ممکن را بپوشاند :

مثلا در مشخصه بالا، اگر به جای match_parent ، مقدار wrap_content قرار داده شود و همچنین طول متن، کمتر از یک خط (بخشی از یک خط) باشد، آنگاه مشخص gravity نمی تواند محل متن را تغییر بدهد (محل متن به صورت کلی و آنگونه که می بینیم) و باید با مشخصه layout_gravity ، خود عنصر TextView را هم جابجا کنیم. یعنی در این حالت، باید هر دو مشخصه به کار روند.

بنابراین اگر TextView ، کل عرض صفحه را بپوشاند، برای وسط چین کردن متن در TextView ، باید مشخصه زیر را اضافه کنیم :

یعنی کل کدهای تگ TextView به صورت زیر می باشد :

برای چپ چین کردن متن، مشخصه را به صورت زیر می نویسیم :

برای راست چین کردن متن، مشخصه را به صورت زیر می نویسیم :

نکته

همان طور که تذکر دادیم، اگر مشخصه layout_width برابر wrap_content تعیین شده باشد و متن نیز کمتر از یک خط باشد (مثلا 2 یا 3 کلمه)، اندازه عرض عنصر TextView ، برابر طول متن می باشد، بنابراین دیگر نمی توانیم با مشخصه gravity ، متن را در یک سمت دلخواه از کل عرض TextView قرار بدهیم (جدا از جهت چیدمان متن)، زیرا متن، کل عرض TextView را پوشانده است. در این مواقع، باید خود عنصر TextView را هم جابجا کنیم. به عنوان یک مثال :

نکته

برای دیدن تمامی گزینه های قابل انتخاب برای یک مشخصه، عبارت بین دو علامت " برای آن مشخصه را حذف کرده و نشانگر موس را بین دو علامت " قرار داده و کلیدهای Ctrl و Space از کیبورد را به صورت همزمان فشار دهید :

راست چین، چپ چین و یا وسط چین کردن متن در TextView ، در برنامه نویسی اندروید

روش دوم : با نوشتن کدهای java در فایل java مربوط به Activity

در این روش نیز دقیقا مشابه روش قبل، باید از آن دو مشخصه (بر اساس شرایط) استفاده کنیم. بنابراین نکات ذکر شده را تکرار نمی کنیم و تنها به معرفی روش های (method) مورد نیاز برای تعیین آن دو مشخصه می پردازیم.

برای مشخصه gravity :

ابتدا عنصر را شناسایی کرده و سپس، با روش setGravity ، چگونگی چیدمان متن در خود فضای TextView را تعیین می کنیم :

مشخصه را برابر CENTER_HORIZONTAL تعیین کرده ایم. برای دیدن همه گزینه های قابل انتخاب، عبارت CENTER_HORIZONTAL را حذف کنید و نشانگر موس را بعد از علامت نقطه قرار داده و کلیدهای Ctrl و Space از کیبورد را به صورت همزمان فشار دهید :

راست چین، چپ چین و یا وسط چین کردن متن در TextView ، در برنامه نویسی اندروید

برای مشخصه layout_gravity :

ابتدا عنصر را شناسایی کرده و سپس، با روش setLayoutParams ، چگونگی قرارگیری خود TextView در لایه گرافیکی (نسبت به لایه و سایر عناصر) را تعیین می کنیم (فرض کرده ایم که عنصر در لایه ای از نوع LinearLayout قرار گرفته است) :

مشخصه را برابر RIGHT تعیین کرده ایم. برای دیدن همه گزینه های قابل انتخاب، عبارت RIGHT را حذف کنید و نشانگر موس را بعد از علامت نقطه قرار داده و کلیدهای Ctrl و Space از کیبورد را به صورت همزمان فشار دهید :

راست چین، چپ چین و یا وسط چین کردن متن در TextView ، در برنامه نویسی اندروید
نویسنده علیرضا گلمکانی
شماره کلید 3007
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 1 1 0
مجید
۱۳۹۵/۰۸/۱۸
۲۰:۲۱

درود بر همه دوستان و عزیزان
 
من قصد دارم تا یک متن رو که دارم از جدولی در دیتابیس، فراخوانی می کنم، به صورت "یک خط راست چین / یک خط چپ چین" به نمایش در بیارم.
 
با نوشتن چه متدی می تونم این کار رو انجام بدم، یا به به طور مثال بفهمم که الان تو خط های زوج هستم، یا فرد، که برابر همون روال، گراویتی شون رو ست کنم؟
 
پیشاپیش از لطفتون ممنونم

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)