不同的输出4.0.3

问题描述:

我有建一些简单的应用程序,它包含一个TextView的两个按钮不同的输出4.0.3

,并在编程我有发现有ID和更改TEXTSIZE的按钮,点击按如下。

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操作系统4.0.3输出是从其它操作系统非常不同。

Button1的Click输出屏幕button1 click and textview size is 30 so output

BUTTON2点击输出屏幕btton2 click and textview size is 100 so output

再次Button1的Click不匹配输出按按钮1点击图像enter image description here

所以请帮助我如何解决这个问题,这是一个简单的演示。这是任何操作系统相关的问题,因为除了Android操作系统4.0.3它运行完美。

+0

检查在所有的操作系​​统? – Hemant 2013-05-07 11:47:35

+0

嘿,我已经检查了所有操作系统的问题是在Android操作系统版本4.0.3。 – 2013-05-07 11:49:17

+0

只是在按钮的onClick上重新初始化txtmain的LayoutParams。 – bakriOnFire 2013-05-07 12:09:06

看到下面的链接。

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

这是Android冰淇淋三明治问题。

解决此问题在文本中添加额外的空格字符结尾。

例如:

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