【问题标题】:Android Justify spanable Text-view that support RTL Languages支持 RTL 语言的 Android Justify 可跨文本视图
【发布时间】:2015-10-18 22:33:42
【问题描述】:

我需要在android中创建一个自定义的text-view,首先它应该是justified,然后它应该支持spans和虽然它应该支持 RTL(从右到左)语言,例如:波斯语(波斯语),...

我正在研究这个问题一周!但事实上我陷入了糟糕的境地,因为没有可用的库支持所有这些条件(JustifySpanableRTL

你有什么想法?!


我虽然检查了很多库,例如:Link

【问题讨论】:

标签: android textview right-to-left spannablestring text-justify


【解决方案1】:

此代码适用于我的 rtl textView :

         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            textView.setJustificationMode(LineBreaker.JUSTIFICATION_MODE_INTER_WORD);
        }else {
            textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
            textView.setGravity(Gravity.CENTER_HORIZONTAL);
        }

【讨论】:

    【解决方案2】:

    您也许可以使用this

    该包是专门为 Right-ToLeft 和 Justified Textviews 创建的,并且应该支持 Spannable,因为它是 TextView 的扩展。

    【讨论】:

      【解决方案3】:

      如何证明 span RTL TextView 的合理性?

      首先使用这个库RTL-TextJustify-Android

      然后在将文本设置为TextView之前:

       TextViewEx = myJustifiedTextView;
       myJustifiedTextView = findViewById...........;
      
      
       finalDescription = "";
      
       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
              finalDescription = Html.fromHtml(SpanTextHere, Html.FROM_HTML_MODE_COMPACT).toString();
          } else {
              finalDescription = Html.fromHtml(SpanTextHere).toString();
          }
      
      myJustifiedTextView.setText(finalDescription,true);
      

      【讨论】:

        【解决方案4】:

        尝试将android:supportsRtl="true" 添加到清单文件中的<application> 元素,并将您的应用“左/右”布局属性更改为新的“开始/结束”。

        请参阅this 链接了解更多信息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-08-22
          • 2015-05-06
          • 2011-07-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多