2016-06-19 11 views
2

Ich möchte TextView Textsize in Android-Anwendung dynamisch anpassen.Wie wird die TextView-Textgröße mit ZoomControls in Android Studio festgelegt?

Dafür setze ich ClickListener für ZoomControls mit der folgenden Methode.

Ich bekomme eine korrekte Ausgabe für das Zoomen in Aktion.

Aber zum Herauszoomen bekomme ich keine korrekte Ausgabe. Die Textgröße wird stattdessen erhöht. Ich weiß nicht, wo ich falsch liege.

Bitte Hilfe.

public void SetZoomControls() 
{ 
    //Zoom refers to ZoomControls 
    //main_code refers to a TextView 
    Zoom.setOnZoomInClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
     float previous= main_code.getTextSize(); 
      previous++; 
     main_code.setTextSize(previous); 
      Toast.makeText(code_display.this, String.valueOf(main_code.getTextSize()),Toast.LENGTH_SHORT).show(); 

     } 
    }); 

    Zoom.setOnZoomOutClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      float previous1= main_code.getTextSize(); 
      main_code.setTextSize(main_code.getTextSize()-1); 
      Toast.makeText(code_display.this,String.valueOf(previous1),Toast.LENGTH_SHORT).show(); 
     } 
    }); 



} 

Antwort

2

Durch Verwendung dieser Methode setTextSize(int size), ist die Art der Einheit standardmäßig "sp" oder "scaled pixels".

Sie können setTextSize(int unit, float size) verwenden, um eine Einheit zu spezifizieren type.The konstante Werte für diese in der TypedValue Klasse

TypedValue.COMPLEX_UNIT_PX //Pixels 

TypedValue.COMPLEX_UNIT_SP //Scaled Pixels 
+0

Vielen Dank finden. –

+0

@AkshayPatel froh, Ihnen zu helfen. – Ironman