ورود

View Full Version : سوال در مورد Spannable



harani
شنبه 17 خرداد 1393, 11:08 صبح
سلام دوستان همانطور که اساتید میدانند .
برای نگارش بر روی متون تکست ویو میتوان از شی Spannableاستفاده کرد که دارای متدی با نام setSpan(ObjectSpan, Start, End, FlagSpann); میباشد .
که خود ObjectSpan حاوی چندین کلاس از جمله BackgroundColorSpan (برای ست کردن رنگ پشت زمینه متن)
ForegroundColorSpan (رنگ متن) و UnderlineSpan (زیر خط کشیدن) و StrikethroughSpan (خط کشیدن روی متن) و ...
من به دنبال یکی از همین شی ها هستم برای کشیدن خط زیگزاگ زیر متن آیا من را میتوانید راهنمایی فرمایید ؟

smemamian
شنبه 17 خرداد 1393, 23:44 عصر
سلام

Spannable همچین ویژگی رو نداره.
2 راه به ذهن من میرسه :
1- :
از صفت drawableBottom در TextView استفاده کنید. بدین صورت که
یک shape سفـــارشی در مسیر drawable ایجـــاد کـــــنید و در صفــت
drawableBottom فراخوانی کنید.

2- یک layer-list ایجاد کنید:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
>

<item>
<bitmap android:src="@drawable/zigzag" android:tileMode="repeat"/>
</item>


</layer-list>

zigzag یک عکس png هست که شما اگه با draw9patch این تصویر رو ایجاد کنید،
عاقلانه تر خواهد بود. (من از layer-list استفاده کردم، چون در نظر گرفتم شاید
شما بخواهید موارد دیگه ای رو به آن اضافه کنید.)

harani
سه شنبه 27 خرداد 1393, 08:47 صبح
سلام

Spannable همچین ویژگی رو نداره.
2 راه به ذهن من میرسه :
1- :
از صفت drawableBottom در TextView استفاده کنید. بدین صورت که
یک shape سفـــارشی در مسیر drawable ایجـــاد کـــــنید و در صفــت
drawableBottom فراخوانی کنید.

2- یک layer-list ایجاد کنید:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
>

<item>
<bitmap android:src="@drawable/zigzag" android:tileMode="repeat"/>
</item>


</layer-list>

zigzag یک عکس png هست که شما اگه با draw9patch این تصویر رو ایجاد کنید،
عاقلانه تر خواهد بود. (من از layer-list استفاده کردم، چون در نظر گرفتم شاید
شما بخواهید موارد دیگه ای رو به آن اضافه کنید.)

بیبیند دوست گرامی من نمیخوام به textview یه background بدم میخوام مثل spannable که میتونم بگم از اینجا تا اینجای متن رو underline بنداز حالا میخوام zigzag بندازم .