android os 4.0.3中textview的不同输出

时间:2013-05-07 11:46:32

标签: android android-layout textview

我已经构建了一个简单的应用程序,其中包含一个textview和两个按钮

并且在programmatic上我找到了id并将textize更改为按钮点击,如下所示。

Button btn1,btn2;
    TextView txtmain;

        txtmain=(TextView)findViewById(R.id.textView1);

        btn1=(Button)findViewById(R.id.button1);
        btn2=(Button)findViewById(R.id.button2);

        txtmain.setBackgroundColor(Color.YELLOW);
        btn1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                txtmain.setTextSize(30);
            }
        });

        btn2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                txtmain.setTextSize(100);

            }
        });

所以输出如下,当我点击btn2 textsize是100,当我选择textview大小是30但是在android os 4.0.3输出与其他操作系统非常不同。

按钮1单击输出屏幕button1 click and textview size is 30 so output

按钮2单击输出屏幕btton2 click and textview size is 100 so output

再次按钮1单击不匹配输出按钮1单击图像enter image description here

所以请帮我解决这个问题,这是一个简单的演示。这是任何与os相关的问题,因为除了android os 4.0.3之外,它运行得很完美。

1 个答案:

答案 0 :(得分:0)

请参阅以下链接。

https://code.google.com/p/android/issues/detail?id=17343

这是机器人冰淇淋三明治问题。

解决此问题在文本末尾添加额外的间距字符。

示例:

final String DOUBLE_BYTE_WORDJOINER = "\u2060";
txtmain=(TextView)findViewById(R.id.textView1);
txtmain.setTextSize(TypedValue.COMPLEX_UNIT_SP ,30);
txtmain.append(DOUBLE_BYTE_WORDJOINER);