我正在尝试在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"/>
我还制作了我正在处理的页面的屏幕截图。希望这能提供有关我的最终产品的更多信息:
答案 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);
}
});
最好在缩小尺寸之前检查当前文字大小是否太小。
答案 1 :(得分:0)
您应该使用sp
代替dp
来处理文字大小。从 documentation ,您可以使用setTextSize
方法,它包含两个参数。
void setTextSize(int unit, 浮动大小)
因此,您可以在按钮单击后指定文本大小:
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);
}
});