【问题标题】:Text cuts of on Textview created in code在代码中创建的 Textview 上的文本剪切
【发布时间】:2014-02-21 07:13:41
【问题描述】:

我正在创建一个应用程序,它接收一个字符串并将其分成单词并重新打印它们,同时检查单词前面是否有“#”。如果有“#”,则该单词的颜色会更改。我遇到的问题是如果原始字符串太长,字符串会被剪切。 有什么帮助吗?

public class MainActivity extends Activity {
    String[] parts; 
    LinearLayout.LayoutParams layoutParams ;
    int size;
    LinearLayout L;
    String s ="This is the test String that is divided #Testing ";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        L=(LinearLayout)findViewById(R.id.ll);

        layoutParams= new  LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,  LinearLayout.LayoutParams.WRAP_CONTENT);

        parts = s.split(" ");
        size = parts.length;

        for(int i=0; i<size;i++)
        {
            TextView valueTV = new TextView(this);
            String d= parts[i] + " ";
            valueTV.setText(d);
            //   valueTV.setLayoutParams(layoutParams);

            if(d.charAt(0)=='#') 
            {
                valueTV.setTextColor(Color.CYAN);
            }
            L.addView(valueTV,layoutParams);
        }

    }

}

【问题讨论】:

  • 你能显示截图以获得更好的解释吗?您可以添加它here 并分享有问题的链接。
  • 为什么不试试 TextView 类的内置方法来处理多行文本,例如 setMaxLine()。

标签: android string textview


【解决方案1】:

这是因为你有线性布局 它需要水平方向。

它将文本视图显示到您的手机边缘,之后您的数据将不可见。

如果textView的宽度超过了显示宽度,则需要检查设备显示宽度并手动添加另一个布局。

参考这个link

它将帮助您解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    相关资源
    最近更新 更多