2017-09-18 7 views
0

Ich versuche, eine Anwendung auf Android Studio zu machen. Ich habe 2 Knöpfe. ein Plus und ein Minus. Ich muss wissen, wie man den Text immer kleiner und größer macht, wenn ich auf einen dieser Knöpfe klicke.Text größer und kleiner machen

Das ist mein MainActivity.java:

Button Min = (Button)findViewById(R.id.Min); 
    Min.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      TextView t = (TextView)findViewById(R.id.DeText); 
      t.setTextSize(-5); 
     } 
    }); 

Das ist mein .xml:

<Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/Plus" 
     android:layout_gravity="top|left" 
     android:text="+" 
     android:textSize="50dp"/> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/Min" 
     android:layout_gravity="top|right" 
     android:text="-" 
     android:textSize="50dp"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:textSize="50dp" 
     android:id="@+id/DeText" 
     android:text="Text"/> 

Ich habe auch einen Screenshot der Seite auf arbeite ich gemacht. Hoffentlich gibt mehr Informationen über mein Endprodukt:

enter image description here

Antwort

0

Sie sollten sp anstelle von dp für Textgrößen verwenden. Von documentation können Sie setTextSize Methode verwenden und es enthält zwei Argumente.

Leere SetTextSize (int Einheit, float Größe)

Also, Sie die Textgröße nach Schaltfläche klicken, wie angeben:

Button button = (Button)findViewById(R.id.buttonId); 
button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     TextView text = (TextView)findViewById(R.id.DeText); 
     text.setTextSize(TypedValue.COMPLEX_UNIT_SP,text.getTextSize()-1); 
    } 
}); 
+0

Sie müssen diesen Code in die onCreate-Methode einfügen. –

+0

Das hat funktioniert, vielen Dank :) –

1

Sie einfach die Textgröße festlegen, indem die aktuelle Größe bekommen und das Hinzufügen/subtrahieren Sie den gewünschten Wert.

Button minButton = (Button)findViewById(R.id.Min); 
    minButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      TextView t = (TextView)findViewById(R.id.DeText); 
      t.setTextSize(COMPLEX_UNIT_PX, t.getTextSize() - 5f); 
     } 
    }); 

Es wäre besser zu überprüfen, ob die aktuelle Textgröße nicht zu klein ist, bevor Sie die Größe reduzieren.

+0

Und was macht es kleiner? –

+0

Versuchen Sie die aktualisierte Antwort mit '- 5f' und '+ 5f'. –

Verwandte Themen