android - 文字大小不减小

标签 android textview

我正在努力在 TextView 上渲染文本。我正在尝试添加两个按钮来放大和缩小 TextView 中的文本,代码如下

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.chapter_view);
        String chapter;
        chapter=getIntent().getExtras().getString("ChapterName");
        final StringBuffer buffer = new StringBuffer();
        int id= getResources().getIdentifier(chapter,"raw",getPackageName());     
        try{
            DataInputStream dataIO= new DataInputStream(getResources().openRawResource(id));
            String strLine= null;
            while((strLine = dataIO.readLine())!=null){
                buffer.append(strLine);
                buffer.append("\n");
            }
            dataIO.close();
        }catch(Exception e){

        }
        final TextView tv=(TextView) findViewById(R.id.chapter);
        tv.setText(buffer.toString());

        Button zoomIn = (Button) findViewById(R.id.zoomin);
        zoomIn.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                textSize = tv.getTextSize();
                tv.setTextSize((float) (textSize+0.25));   

            }
        });

        Button zoomOut = (Button) findViewById(R.id.zoomout);
        zoomOut.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                textSize = tv.getTextSize();
                tv.setTextSize((float) (textSize-0.25));  
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.chapter_view, menu);
        return true;
    }
}

但我遇到的问题是,即使单击缩小按钮,它仍然会增加文本的字体大小。请帮我解决这个问题。此外,一旦我关闭一章并打开另一章,文本大小将重置为默认值。对此有什么解决方案吗?我正在考虑为此解决方案使用名称值对。

最佳答案

问题在于传递给 setTextSize(float size) 的单位是以缩放像素为单位,而 getTextSize() 以像素为单位进行报告。尝试使用 setTextSize(int unit, float size) 代替,将单位设置为 TypedValue.COMPLEX_UNIT_PX

关于android - 文字大小不减小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15334117/

相关文章:

android - 错误的高棉语 Unicode 字符串

ios - 无法将类型 '[(String)]' 的值分配给类型 'String!' 的值?

java - Android:EditText.getText().toString() 不起作用

java - 在Java中从给定的Date对象构造字符串

java - 无法获取请求 token 方法 POST 必须具有请求正文

android - 改造响应后设置文本

java - Android Studio - ImageView下方的TextView

android-studio - 3.1.4 textAlignment 缺失(Android Studio)

android - 多次调用 bindView 的自定义游标适配器

java - 访问 google 任务 api 时出现 403 禁止错误