rasool.g 135 ارسال شده در 20 دی، 2017 اشتراک گذاری ارسال شده در 20 دی، 2017 سلام. عبارت هایی مثل عبارت زیر رو نمیشه به خوبی نمایش داد. "cpu چیست؟" از اون جایی که متن با حرف انگلیسی شروع شده . جهت متن (textDirection) چپ به راست انتخاب میشه و نیاز هست که جهت متن مثلا برای لیبیل راست به چپ انتخاب بشه. چجوری میشه این مشکل رو حل کرد؟ پروزه چند نکته : 1 - خود متن کاملا درست و استاندارده و تست شده 2 - gravity این مشکل رو حل نمیکنه و تست شده لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
rasool.g 135 ارسال شده در 20 دی، 2017 سازنده اشتراک گذاری ارسال شده در 20 دی، 2017 کسی تا الان به چنین مشکلی بر نخورده؟ همین عبارت رو اگه تو یه لیبل یا msgbox نمایش بدید . میبینید چجوری میشه بهم میریزه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
arastooms 1,046 ارسال شده در 21 دی، 2017 اشتراک گذاری ارسال شده در 21 دی، 2017 من قبلا این مشکل رو داشتم که دوستان راهنمایی فرمودند و حل شد به سادگی براتون سرچ کردم " چپچین راسچین" و تو نتایج جستجو پیدا شد سرچ کنید سریع تر به جواب میرسید تا تاپیک بزنید و منتظر باشید دوستان جواب بدن موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
rasool.g 135 ارسال شده در 21 دی، 2017 سازنده اشتراک گذاری ارسال شده در 21 دی، 2017 در 2 ساعت قبل، arastooms گفته است : من قبلا این مشکل رو داشتم که دوستان راهنمایی فرمودند و حل شد به سادگی براتون سرچ کردم " چپچین راسچین" و تو نتایج جستجو پیدا شد سرچ کنید سریع تر به جواب میرسید تا تاپیک بزنید و منتظر باشید دوستان جواب بدن موفق باشید ممنون ولی gravity این مشکل رو حل نمیکنه من خودمم همیشه اول سرچ میکنم. چیزی یافت نشد البته gravity تا جایی که من میدونم معادل text-align در html هستش و به direction و rtl و ltr زیاد ربطی نداره. Label8.Gravity = Gravity.RIGHT Label1.Gravity = Bit.Or(Gravity.CENTER_VERTICAL, Gravity.RIGHT) این دو کد هم که یکیه ! (دومی فقط ار بالا به پایین متن رو وسط قرار میده). چجوری مشکلتون حل شد؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
rasool.g 135 ارسال شده در 21 دی، 2017 سازنده اشتراک گذاری ارسال شده در 21 دی، 2017 دوستان معادل این کد ها در b4a چیه ظاهرا راه حل استفاده از این کد هاست android:textDirection="rtl" android:textDirection="anyRtl" textview.setTextDirection(View.TEXT_DIRECTION_RTL); textview.setTextDirection(View.TEXT_DIRECTION_ANY_RTL); لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,631 ارسال شده در 21 دی، 2017 اشتراک گذاری ارسال شده در 21 دی، 2017 با جاوا باید این کار رو بکنید عزیز. این متد رو به اکتیوتی اضافه کنید. #If java import android.view.View; import android.widget.TextView; public void setDirection(View label) { ((TextView)label).setTextDirection(View.TEXT_DIRECTION_ANY_RTL); } #End If کتابخونه جاوا آبجکت و متد زیر دیگه... Dim j As JavaObject j.InitializeContext.RunMethod("setDirection",Array As Object(Label1)) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
rasool.g 135 ارسال شده در 21 دی، 2017 سازنده اشتراک گذاری ارسال شده در 21 دی، 2017 در 27 دقیقه قبل، محمدرضا شاهپیری گفته است : با جاوا باید این کار رو بکنید عزیز. این متد رو به اکتیوتی اضافه کنید. #If java import android.view.View; import android.widget.TextView; public void setDirection(View label) { ((TextView)label).setTextDirection(View.TEXT_DIRECTION_ANY_RTL); } #End If کتابخونه جاوا آبجکت و متد زیر دیگه... Dim j As JavaObject j.InitializeContext.RunMethod("setDirection",Array As Object(Label1)) ممنون جناب شاهپیری کد در زیر هم اگه اشتباه نکنم مربوط به فایل ها و کد های xml میشه؟ همینطوره؟ android:textDirection="rtl" روش دیگه ای هم البته برای حل این مشکل پیدا کردم. این روش هم جواب میده. استفاده از کاراکتر های مخصوص Bi-directional text s = Chr(0x202B) & s & Chr(0x202C) RLE - Right-to-Left Embedding - U+202B PDF - Pop Directional Format - U+202C لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
rasool.g 135 ارسال شده در 22 دی، 2017 سازنده اشتراک گذاری ارسال شده در 22 دی، 2017 در در 1396/07/29, 14:20:35، محمدرضا شاهپیری گفته است : با جاوا باید این کار رو بکنید عزیز. این متد رو به اکتیوتی اضافه کنید. #If java import android.view.View; import android.widget.TextView; public void setDirection(View label) { ((TextView)label).setTextDirection(View.TEXT_DIRECTION_ANY_RTL); } #End If کتابخونه جاوا آبجکت و متد زیر دیگه... Dim j As JavaObject j.InitializeContext.RunMethod("setDirection",Array As Object(Label1)) سلام جناب شاهپیری . من این کد رو هر چی تست میکنم جواب نمیده. بی زحمت ببینید کدهای زیر مشکلی داره؟ Sub Globals Private Label1 As Label Private Button1 As Button End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout1") Dim s As String = File.GetText(File.DirAssets,"1.txt") Label1.Text = s Label1.Gravity = Gravity.RIGHT Dim j As JavaObject j.InitializeContext.RunMethod("setDirection",Array As Object(Label1)) End Sub Sub Activity_Resume End Sub Sub Activity_Pause (UserClosed As Boolean) End Sub #If java import android.view.View; import android.widget.TextView; public void setDirection(View label) { ((TextView)label).setTextDirection(View.TEXT_DIRECTION_RTL); } #End If Sub Button1_Click ToastMessageShow("---",False) Dim j As JavaObject j.InitializeContext.RunMethod("setDirection",Array As Object(Label1)) End Sub هر دو تا گزینه ی زیر رو هم امتحان کردم. طبیعتا باید جواب بده. ولی جهت متن تغییری نمیکنه textview.setTextDirection(View.TEXT_DIRECTION_RTL); textview.setTextDirection(View.TEXT_DIRECTION_ANY_RTL); لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,631 ارسال شده در 22 دی، 2017 اشتراک گذاری ارسال شده در 22 دی، 2017 این متدها جواب نمیده متاسفانه. توی اندروید استودیو هم تست کردم فایده نداشت. تنها راهش که من به ذهنم میرسه به صورت زیره. اول متد زیر رو اضافه کنید. این متد متن رو به rtl تبدیل میکنه #If java import android.text.Html; import android.text.Spanned; @SuppressWarnings("deprecation") public String fromHtml(String string){ Spanned result; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { result = Html.fromHtml("‫"+string,Html.FROM_HTML_MODE_LEGACY); } else { result = Html.fromHtml("‫"+string); } return result.toString(); } #End If بعد هم به صورت زیر متن رو به لیبل بدید Dim jo As JavaObject Dim str As String=jo.InitializeContext.RunMethod("fromHtml",Array As String("cpu چیست؟")) Label1.Text=str لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
rasool.g 135 ارسال شده در 23 دی، 2017 سازنده اشتراک گذاری ارسال شده در 23 دی، 2017 در 17 ساعت قبل، محمدرضا شاهپیری گفته است : این متدها جواب نمیده متاسفانه. توی اندروید استودیو هم تست کردم فایده نداشت. تنها راهش که من به ذهنم میرسه به صورت زیره. اول متد زیر رو اضافه کنید. این متد متن رو به rtl تبدیل میکنه #If java import android.text.Html; import android.text.Spanned; @SuppressWarnings("deprecation") public String fromHtml(String string){ Spanned result; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { result = Html.fromHtml("‫"+string,Html.FROM_HTML_MODE_LEGACY); } else { result = Html.fromHtml("‫"+string); } return result.toString(); } #End If بعد هم به صورت زیر متن رو به لیبل بدید Dim jo As JavaObject Dim str As String=jo.InitializeContext.RunMethod("fromHtml",Array As String("cpu چیست؟")) Label1.Text=str سلام. من از معادل یونیکد کارکتر های html ای که استفاده کردید، استفاده کردم. این کد هم جواب داد. s = Chr(0x202B) & s & Chr(0x202C) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
rasool.g 135
سلام. عبارت هایی مثل عبارت زیر رو نمیشه به خوبی نمایش داد.
"cpu چیست؟"
از اون جایی که متن با حرف انگلیسی شروع شده . جهت متن (textDirection) چپ به راست انتخاب میشه و نیاز هست که جهت متن مثلا برای لیبیل راست به چپ انتخاب بشه.
چجوری میشه این مشکل رو حل کرد؟
پروزه
چند نکته :
1 - خود متن کاملا درست و استاندارده و تست شده
2 - gravity این مشکل رو حل نمیکنه و تست شده
لینک ارسال
به اشتراک گذاری در سایت های دیگر
9 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.