Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的单词包装问题_Android_Text_Word Wrap - Fatal编程技术网

Android中的单词包装问题

Android中的单词包装问题,android,text,word-wrap,Android,Text,Word Wrap,如下图所示,有时一些文本可能会被压缩到下一行,而不应该被压缩到下一行。图像中圈出的单词似乎已下移到下一行,而它可以很容易地放在当前行的剩余空间中。这种情况可能是android文本引擎计算的结果。我正在从事的项目在这方面是敏感的。我能做些什么来防止这种情况发生 最后我解决了这个问题: float ratio = 2.666666666666667f; // 1440/540 TextView textView = new TextView(this); textView.setText("Ay

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


最后我解决了这个问题:

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操作系统根据设备密度决定文本的空间分配,因此您可以将文本大小更改为动态大小。@Andy Developer我添加了代码,可能是您的大小有问题。试着用复数单位来代替复数单位。为什么要设置固定比率?不能设置像510*这样的宽度比率,必须根据每个设备动态确定。
if(Build.VERSION.SDK_INT >= 23)
   textView.setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE);