如何在Android中增加和减少TextView字体大小

时间:2015-04-07 10:49:26

标签: android textview

我有2个按钮用于增加和减少TextView字体大小:

    btnZoomin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           txtview.setTextSize(txtview.getTextSize()+1);
        }
    });
    btnZoomout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            txtview.setTextSize(txtview.getTextSize()-1);
        }
    });

但是遇到了困难,因为它不起作用。

5 个答案:

答案 0 :(得分:3)

如果有人仍然面临文字大小问题。您可以使用以下代码:

增加尺寸: function epochToDate (ts) { return new Date(ts * 1000); }

缩小尺寸 tvText.setTextSize(0, tvText.getTextSize() + 2.0f);

答案 1 :(得分:1)

如何在DOCS setTextSize中看到需要2个参数:TypedValue和新大小。

您的代码很好,您只需要添加TypedValue:

txtview.setTextSize(TypedValue.COMPLEX_UNIT_SP,txtview.getTextSize()-1);
txtview.setTextSize(TypedValue.COMPLEX_UNIT_SP,txtview.getTextSize()+1);

答案 2 :(得分:1)

txtview.setTextSize(TypedValue.COMPLEX_UNIT_PX,txtview.getTextSize() - 1); txtview.setTextSize(TypedValue.COMPLEX_UNIT_PX,txtview.getTextSize()+ 1);

答案 3 :(得分:0)

使用此text.setTextSize(TypedValue.COMPLEX_UNIT_SP,14);

答案 4 :(得分:0)

很抱歉以前的代码,这是错误的,但我认为这对你有用,

package com.example.sample;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

int counter = 0;
private int size;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final TextView txt = (TextView) findViewById(R.id.txt);
    Button btn = (Button) findViewById(R.id.button1);

    counter = (int) txt.getTextSize();
    btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(getApplicationContext(), txt.getTextSize() + "",
                    Toast.LENGTH_LONG).show();
            size = counter++;
            txt.setTextSize(size);

        }
    });
}
}