Android 文本视图未缩小
我的应用程序中有一个活动,我有两个文本视图和两个按钮分别用于放大和缩小。 放大看起来效果不错,但缩小效果正好相反,它放大而不是缩小。 这是密码Android 文本视图未缩小,android,android-studio,textview,Android,Android Studio,Textview,我的应用程序中有一个活动,我有两个文本视图和两个按钮分别用于放大和缩小。 放大看起来效果不错,但缩小效果正好相反,它放大而不是缩小。 这是密码 ibzoomout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { float s1 = tv1.getTextSize();
ibzoomout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
float s1 = tv1.getTextSize();
float s2 = tv2.getTextSize();
s1 = s1-5;
s2 = s2-5;
tv1.setTextSize(s1);
tv2.setTextSize(s2);
}
});
ibzoomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
float s1 = tv1.getTextSize();
float s2 = tv2.getTextSize();
s1 = s1+5;
s2 = s2+5;
tv1.setTextSize(s1);
tv2.setTextSize(s2);
}
});
tv1和tv2是文本视图,iZoomin和iZoomout是按钮。如我所见,您想放大/缩小这两个
文本视图,我创建了以下代码,可能对您有帮助:
ibzoomout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
float s1 = tv1.getTextSize();
float sp1 = s1 / getResources().getDisplayMetrics().scaledDensity;
float s2 = tv2.getTextSize();
float sp2 = s2 / getResources().getDisplayMetrics().scaledDensity;
tv1.setTextSize(decreaseSize(sp1));
tv2.setTextSize(decreaseSize(sp2));
}
});
ibzoomin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
float s1 = tv1.getTextSize();
float sp1 = s1 / getResources().getDisplayMetrics().scaledDensity;
float s2 = tv2.getTextSize();
float sp2 = s2 / getResources().getDisplayMetrics().scaledDensity;
tv1.setTextSize(increaseSize(sp1));
tv2.setTextSize(increaseSize(sp2));
}
});
public Float increaseSize(float diff) {
size = diff + 5;
return size;
}
public Float decreaseSize(float diff) {
size = diff - 5;
return size;
}
非常感谢@Mouaad,成功了。你能解释一下我的代码有什么问题吗?