Android中的Word Wrapping问题

时间:2017-07-13 12:10:23

标签: android text word-wrap

float ratio = 2.666666666666667f; // 1440/540

TextView textView = new TextView(this);

textView.setText("Ayet-i kerimelerin nazil olmasından sonra Fahr-i Kâinat Efendimiz s.a.v.’in daha fazla ibadet ile meşgul olması, nail olunan büyük ihsan ve ikramlara şükretmesiyle alakalıdır. Nitekim Hz. Aişe r. anha validemizin sorusu üzerine bunu doğrudan ifade de buyuruyorlar. Bizim açımızdan da şükrün edası gayret gerektirir. İbadet ve taatlerimizde, işlerimizde…\n\nFetih sure-i şerifi ile Fahr-i Kâinat Efendimiz s.a.v.’in ümmetinden olarak bizler de nice fetihlerle, gayret ve çabamıza karşılık ilahî mağfiret ve yardımlarla müjdeleniyoruz.\n\nMüminler olarak Cenab-ı Mevlâ’dan asla ümit kesmeden, azami gayret ve çaba göstererek mücadelemize devam ettiğimizde, müjdelendiğimiz fetihler de müyesser olacaktır inşallah.");
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,14*ratio);
textView.setBackgroundColor(Color.parseColor("#ff0000"));
textView.setTextColor(Color.parseColor("#333333"));

RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams((int)(510*ratio), RelativeLayout.LayoutParams.WRAP_CONTENT);
params.leftMargin = (int)(15*ratio);
textView.setLayoutParams(params);

root.addView(textView);

如下图所示,有时一些文本可能会被包裹到下一行,而不应该。图像中圈出的单词似乎已向下移动到下一行,而它可以很容易地适合当前行中的剩余空间。这种情况可能是android文本引擎计算的结果。我正在研究的项目在这方面很敏感。我该怎么做才能防止这种情况发生?

enter image description here

1 个答案:

答案 0 :(得分:1)

最后我解决了这个问题:

if(Build.VERSION.SDK_INT >= 23)
   textView.setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE);