محدود کردن سایز متن (حل شد)
سلام. من میخوام سایز متن رو در تنظیمات محدود کنم. یعنی کاربر تا یه حدی بتونه متن رو بزرگ یا کوچک کنه که باعث زشت شدن صفحه متن نشه. کدها رو پایین قرار میدم. ممنون
imgMosbat.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
size++;
txtTestFont.setTextSize(size);
}
});
imgManfi.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
size--;
txtTestFont.setTextSize(size);
}
});
همانطور که دوستان گفتند باید شرط بذارید. مثلا به این صورت:
imgMosbat.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
size++;
if (size<100){ //فونت از 100 بزرگتر نمی شود
txtTestFont.setTextSize(size);
}
}
});
imgManfi.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
size--;
if (size>100){ // فونت از 100 کوچکتر نمی شود
txtTestFont.setTextSize(size);
}
}
});
بهترین کار حرکت دادن متنه به این تاپیک نگاه بندازید حرکت دادن متن در تکست ویو ،با این کار اگه طول متن بزرگتر از اندازه طول تکست ویو بود متحرک میشه
همچنین میتونییکی از این سه خطو بزارید در تکست ویو کار هر سه خط یکیه ولی به سه صورت متفاوت!
android:ellipsize="start"
android:ellipsize="middle"
android:ellipsize="end"
بعد نوشتن این گرفتم منضورتو به این لینک یه نگاه بنداز البته واس سیک باره
من از بقیه کدهایی که استفاده کردی خبر ندارم و اگه دقیقا از کدهای بالا استفاده کردی به نظرم میاد ایراد الگوریتمی وجود داره. در این کد خود عمل افزایش یا کاهش مقدار size براش هیچ کنترلی وجود نداره. فقط اندازه size چک میشه اگه در شرط صدق میکرد به اندازه فونت اعمال میشه. حالا شما فرض کن کاربر همه اش روی دکمه افزایش کلیک کنه. مقدار size پشت سر هم افزایش پیدا میکنه. بدون اینکه برای سقف افزایش سایز حدی انتخاب شده باشه. آیا جایی از کدهات مقدار افزایش یا کاهش متغیر size کنترل میشه؟ در ثانی مقدار عدد 100 انتخابی برای هر دو حالت افزایش و کاهش با هم در تناقض هست. شما باید از دو عدد استفاده کنید. یک عدد برای حد بالا و یک عدد برای حد پایین. مثلا حد بالا رو بگیرید 30 و حد پایین رو بگیرید 10.
فکر میکنم کدها باید به این شکل تغییر کنند:
imgMosbat.setOnClickListener(newOnClickListener(){
@Override
publicvoid onClick(View arg0){ size++;
if(size>30){//فونت از 30 بزرگتر نمی شود size=30;}
txtTestFont.setTextSize(size); }}); imgManfi.setOnClickListener(newOnClickListener(){
@Override
publicvoid onClick(View arg0){ size--;
if(size<10){// فونت از 10 کوچکتر نمی شود
size=10; }
txtTestFont.setTextSize(size); }});
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .