【问题标题】:How to increase and decrease TextView font size in Android如何在Android中增加和减少TextView字体大小
【发布时间】:2015-06-11 22:35:43
【问题描述】:

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

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

【问题讨论】:

标签: android textview


【解决方案1】:

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

【讨论】:

  • 这将增加文本大小,您也可以使用 sahil 答案
【解决方案2】:

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

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

        }
    });
}
}

【讨论】:

  • 我要增加和减少大小,不要设置静态值!!
  • 每次点击该按钮时,textsize+1
  • 我已经更新了代码,试试这个,它确实有效。
  • @sahil 你的代码和他的代码没有区别
【解决方案3】:

你怎么能看到DOCS setTextSize 需要 2 个参数:TypedValue 和新大小。

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

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

【讨论】:

  • 1-每次增加非常大 2-不减少
  • 然后尝试另一个键入的值,检查您的 textview 正在使用哪个并替换您的代码...
  • @MohamadRezaAtrian - 你找到出路了吗?
【解决方案4】:

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

【讨论】:

    【解决方案5】:

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

    增加尺寸: tvText.setTextSize(0, tvText.getTextSize() + 2.0f);

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-03
      • 2012-10-23
      • 2021-03-13
      • 1970-01-01
      • 2014-10-14
      • 2014-04-26
      • 1970-01-01
      • 2010-11-14
      相关资源
      最近更新 更多