2017-09-18 81 views
0

我试图在Android Studio上制作应用程序。我有2个按钮。一个加号和一个减号。我需要知道如何在每次点击其中一个按钮时使文本变得越来越小。使文字变得越来越小

这是我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); 
     } 
    }); 

这是我的.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"/> 

我使我的工作页面的截图。但愿这给我的最终产品的一些详细信息:

enter image description here

回答

0

对于文本大小,您应该使用sp而不是dp。从documentation,您可以使用setTextSize方法,它包含两个参数。

无效setTextSize(INT单元, 浮动大小)

所以,你可以指定按钮,点击后作为文字大小:

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

您必须在'onCreate'方法中包含此代码。 –

+0

这工作,非常感谢:) –

1

您只需通过获取电流的大小与加法/减法你想要的值设置文字大小。

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

最好在减小尺寸之前检查当前的文字大小是否不太小。

+0

并且怎么样使它更小? –

+0

尝试使用' - 5f'以及'+ 5f'更新答案。 –