2013-05-07 51 views
0

我有建一些簡單的應用程序,它包含一個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

回答

0

看到下面的鏈接。

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);