close
تبلیغات در اینترنت
شکستن خطوط,حل مشکل شکستن خطوط در اندروید,مشکل شکستن خطوط در Textview,ش
صفحه اصلی پرشین استک

{ پرشین استک }

به دنیای برنامه نویسی خوش آمدید
|


پرشین استک تنها یک سایت نیست بلکه یک پروژه همگانی می باشد


تعداد مطالب :
142


تعداد توسعه دهندگان :
11


تاریخ امروز :
جمعه 01 تیر 1397

به کانال تلگرام ما بپیوندید


×

لیست سوالات من

افزودن

چرا TextView کلمات را با حروف می شکند ؟

من می خواهم یک "incoming bubble" یا "حباب ورودی" با عرض محتوا و حداکثر عرض (max width)  90% ایجاد کنم .

من این نشانه گذاری را دارم :

 

<?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="wrap_content"
android:orientation="horizontal"
android:weightSum="1.0"
tools:background="@color/white_smoke">

<LinearLayout
android:id="@+id/flBubble"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:background="@drawable/bubble_in"
android:layout_weight="0.9">

<ImageView
android:id="@+id/ivSay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:contentDescription="@string/default_content_description"
android:padding="8dp"
android:src="@drawable/ic_play_circle_outline_black_24dp"
android:tint="@color/primary"/>

<TextView
android:id="@+id/tvValue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="8dp"
android:textColor="@color/black"
android:textSize="16sp"
tools:text="I would like to go to an Italian restaurant"/>
</LinearLayout>

<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0.1"/>
</LinearLayout>

 

 

گاهی اوقات من به نتیجه ای که در عکس نشان داده شده برخورد می کنم . عکس از تنیجه

اما من انتظار دارم که به نتیجه موجود در این عکس دست پیدا کنم . عکس از نتیجه

چگونه می توانم از شکسته شدن کلمه به وسیله restaraunt حروف جلوگیری کنم ؟

اگرچه من از minSdk=15 استفاده می کنم ، سعی کردم تا از breakStrategy استفاده کنم ولی نتیجه ای را که انتظار داشتم ، نگرفتم .

"android:breakStrategy="simple

عکس از breakStrategy ساده

 

"android:breakStrategy="balanced

 

عکس از balanced break strategy

 

من یک سوال مربوط به آنرا پیدا کردم :

کلمه بعدی را به خط جدیدی اضافه کنید اگر کلمه برای textview طولانی باشد

اما من نمی دانستم که چگونه بیشترین عرض موجود را برای TextView با "layout_width="wrap_content بدست بیاورم ؟ اگر بتوانم متد TextView.setText را override کنم و در صورت لزوم خط را بشکنم ، عالی خواهد شد .

 

پاسخ 1 :

از ویژگی MaxWidth برای textview استفاده کنید یا اینکه شما باید عرض را برای textview ارائه دهید .

 

<com.custom.views.CustomTextView
android:id="@+id/txt_send_chat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:maxWidth="250dp"
android:textColor="@color/color_chat_sender"
android:textSize="16sp"
app:font_name="@string/font_roboto_regular"/>

 

پاسخ 2 :

کد زیر را امتحان کنید :

 

<TextView
android:id="@+id/tvValue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="8dp"
android:textColor="@color/black"
android:textSize="16sp"
tools:text="I would like to go to an Italian restaurant"/>
</LinearLayout>

 

 

پاسخ 3 :

کد زیر را امتحان کنید :

 

android:inputType="textMultiLine"

 

پاسخ 4 :

شما می توانید از webview برای دستیابی به این رفتار استفاده کنید . در webview می توانید از CSS برای تنظیم متن استفاده کنید . نگاهی به این پاسخ بیندازید

شما می توانید عرض رشته را محاسبه کنید و n را زمانی که رشته نیاز به تقسیم دارد ، اضافه کنید .

 

Rect bounds = new Rect(); 
Paint textPaint = textView.getPaint();
textPaint.getTextBounds(text,0, text.length(), bounds);
int height = bounds.height();
int width = bounds.width();

 

نتایج در پیکسل ها است بنابراین فقط عرض view یا صفحه را بررسی کرده و رشته را تقسیم کنید .

کد نمونه : من یک نمونه با طرح (Layout) ساده در onCreate موجود در activity نوشتم و شما می توانید از آن در adapter یا هر جای دیگری که کار می کند ، استفاده کنید .

 

TextView textView = (TextView) findViewById(R.id.txt); //textview with empty text
Rect bounds = new Rect();
Paint textPaint = textView.getPaint();

String text = "some long text here....."; // text data to work on
textPaint.getTextBounds(text,0, text.length(), bounds);
int textWidth = bounds.width(); // get text width in pixel
int marginPadding = 100; // we have some padding and margin from xml layouts
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int rootWidth = displayMetrics.widthPixels - marginPadding; // maximum width on screan

if (textWidth > rootWidth){ // check if need to split the string.
int lineMax = (text.length() * rootWidth) / textWidth; // maximum Characters for each line
String result = text.replaceAll("(.{"+String.valueOf(lineMax)+"})","$1n"); // regex to replace each group(lineMax) of Chars with group of char + new line
textView.setText(result);
}else
textView.setText(text);

 

پاسخ 5 :

شما می توانید Autosizing TextView را امتحان کنید .  Support Library 26.0 ویژگی autosizing TextView را در دستگاه هایی که اندروید قبل تر از نسخه  8 (API 26) را اجرا می کنند ، پشتیبانی می کند . این کتابخانه از اندروید 4.0  (API 14) و بالاتر پشتیبانی می کند . پکیج android.support.v4.widget کلاس TextViewCompat را برای دسترسی به ویژگی ها در یک مد backward-compatible ، ارائه می کند .

مثال :

 

<TextView
android:layout_width="match_parent"
android:layout_height="200dp"
android:autoSizeTextType="uniform"/>

 

 

برای جزئیات بیشتر دستورالعمل ها به این لینک بیایید .

برای دسترسی به کتابخانه ها به این لینک بیایید .

 

 

پاسخ 6 :

TextView را به EditText تغییر دهید و کد زیر را قرار دهید :

 

 android:inputType="textMultiLine"
android:enabled="false"

 

این متن شما را به درستی نشان می دهد و قابلیت ویرایش متن را به برنامه شما می دهد .

 

پاسخ 7 :

کد زیر را امتحان کنید :

 

String htmlText = " %s ";
String myData = "Hello World! This tutorial is to show demo of displaying text with justify alignment in WebView.";
WebView webView = (WebView) findViewById(R.id.webView1);
webView.loadData(String.format(htmlText, myData),"text/html","utf-8");

 

صفحه اصلی

482

04 / 06 / 1396

PERSIAN STACK


چرا گاهی اوقات API موقعیت مکانی سرویس گوگل پلی ، موقعیت مکانی اشتباهی را برمی گرداند ؟

ادامه مطلب

591

چگونه نرم افزار ضبط صدای اندرویدی بسازیم ؟

ادامه مطلب

527

چرا TextView کلمات را با حروف می شکند ؟

ادامه مطلب

483

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

367

چرا وبسایت تجارت الکترونیک Magento 2 در Webview اندروید کار نمی کند ؟

ادامه مطلب

347

دانلود پروژه نمایش جستجوی کتاب برای اندروید

ادامه مطلب

323

چگونه Google API برای سطح API 25 را پیدا کنیم ؟

ادامه مطلب

319

دانلود سورس کد بازی اندرویدی Klooni 1010! + فایل APK

ادامه مطلب

237

آیا راهی برای یافتن تغیرات ماه در نمای تقویم اندروید (calendar view) وجود دارد ؟

ادامه مطلب

223

در تکمیل خودکار اندروید ، دلیل dispatchProvideAutofillStructure() not laid out چیست ؟

ادامه مطلب

219

چرا زمانی که با استفاده از cordova در اندروید 7.0 ، اس ام اس ارسال می کنیم ، با اثتثنای (Exception) امنیتی مواج

ادامه مطلب

215

دانلود تمامی API های اندروید

ادامه مطلب

205

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

177

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

161

دانلود سورس کد اپلیکیشن هواشناسی برای اندروید + فایل APK

ادامه مطلب

157

چگونه ارور com.bumptech.glide.Registry$NoModelLoaderAvailableException: Failed to find any ModelLoaders را در اندروید رفع کنیم ؟

ادامه مطلب

151

دانلود اسکریپت جاوای PS-CH# - ایجاد ورودی متنی پیشرفته

ادامه مطلب

99

چگونه می توان با استفاده از CSS ، رنگ placeholder را تغییر داد ؟

ادامه مطلب

85

دانلود کتابخانه Retrofit برای اندروید + پروژه

ادامه مطلب

83

قسمت هفدهم - لیست ها در HTML

ادامه مطلب

83

دانلود اسکریپت جاوای PS-CH# - ایجاد ورودی متنی پیشرفته

ادامه مطلب

یکشنبه 05 آذر 1396

قسمت هفدهم - لیست ها در HTML

ادامه مطلب

یکشنبه 21 آبان 1396

چگونه می توان با استفاده از CSS ، رنگ placeholder را تغییر داد ؟

ادامه مطلب

یکشنبه 21 آبان 1396

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

شنبه 20 آبان 1396

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

شنبه 20 آبان 1396

قسمت پانزدهم - عکس ها در HTML

ادامه مطلب

جمعه 19 آبان 1396

قسمت چهاردهم - لینک ها در HTML

ادامه مطلب

یکشنبه 14 آبان 1396

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

یکشنبه 14 آبان 1396

قسمت سیزدهم - CSS در HTML

ادامه مطلب

شنبه 13 آبان 1396

قسمت بیست و پنجم (قسمت آخر) - آموزش ساخت بازی حدس

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و چهارم - آموزش نحوه ی پردازش فایل ها در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و سوم - برنامه تکمیلی جاوا (6)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و دوم - معرفی آرایه ها در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و یکم - برنامه تکمیلی جاوا (5)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیستم - معرفی مفهوم وراثت در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت نوزدهم - برنامه تکمیلی جاوا (4)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت هجدهم - معرفی عبارات کنترلی در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت هفدهم - برنامه تکمیلی جاوا (2-3)

ادامه مطلب

چهارشنبه 10 آبان 1396

چگونه در برنامه نویسی اندروید ، یک ListView با متن و عکس بسازیم ؟

ادامه مطلب

سه شنبه 09 آبان 1396

چگونه در برنامه نویسی اندروید از فونت شخصی خود استفاده کنیم ؟

ادامه مطلب

سه شنبه 09 آبان 1396

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

چگونه در برنامه نویسی اندروید ، یک ListView با متن و عکس بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید از فونت شخصی خود استفاده کنیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید می توان آیدی موبایل را بدست آورد ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید برنامه تماس بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید یک منو ساده بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید از برنامه اسکرین شات بگیریم ؟

ادامه مطلب

چگونه می توان در اندروید RTL یا LTR صفحه را ثابت کرد ؟

ادامه مطلب

چگونه می توان در اندروید حالت افقی (landscape) را غیر فعال کرد ؟

ادامه مطلب

آموزش استفاده از دیتابیس آماده در پروژه اندرویدی

ادامه مطلب

دانلود سورس کد تمامی نسخه های تلگرام + فایل های نصبی

ادامه مطلب

دانلود کتابخانه GSON برای اندروید + پروژه

ادامه مطلب

دانلود سورس کد اپلیکیشن آموزش زبان انگلیسی + فایل APK

ادامه مطلب

چگونه نگذاریم در آغاز اکتیویتی ، EditText فوکوس را بدست آورد ؟

ادامه مطلب

چگونه کیبورد پیش فرض اندروید (Soft Keyboard) را پنهان کرده یا ببندیم ؟

ادامه مطلب

چرا سرعت مجازی ساز اندروید کم است و چگونه می توان سرعت آنرا افزایش داد ؟

ادامه مطلب

تفاوت بین واحد های اندازه گیری "px" , "dp" , "dip" و "sp" چیست ؟

ادامه مطلب

دانلود سورس کد اپلیکیشن آهنگ سازی برای اندروید + فایل APK

ادامه مطلب

دانلود سورس کد اپلیکیشن هواشناسی برای اندروید + فایل APK

ادامه مطلب

× برای نظر گذاشتن یا پاسخ دادن به سوالات باید در سایت عضو باشید !

برای حمایت از ما روی بنر های زیر کلیک کنید .

برای سفارش تبلیغات به ما ایمیل بزنید .

ارتباط با ما