繁体   English   中英

单击按钮时更改字体系列 (Android)

[英]Change font-family on button click (Android)

我正在使用 Java 开发一个 android 应用程序,使用它可以使用 EditText 输入一个文本或一组文本,一旦单击按钮,文本的字体系列应该更改并显示在 TextView 中. 我感到困惑的部分是,如何在单击按钮时更改文本的字体系列。 (每次我点击字体系列都必须改变)

这是我的 MainActivity.java 文件的代码

package com.example.fonter;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    EditText mEditText;
    Button changeFontBtn;
    TextView resultTextView;

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

        mEditText = findViewById(R.id.editText);
        changeFontBtn = findViewById(R.id.fontChangeBtn);
        resultTextView = findViewById(R.id.resultView);

        changeFontBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                fontChangeFn();
            }
        });
    }

    public void fontChangeFn () {
        if (mEditText.getText().toString().trim().length() > 0) {
            // This is the part I'm confused with.
        }
    }
}

任何帮助或建议将不胜感激。

您需要在assets文件夹中添加.ttf.otf字体文件。

检查此问题以创建资产文件夹 - 在 Android Studio 中放置“资产”文件夹的位置?

创建资产文件夹后,在资产文件夹中添加字体文件。

添加此代码以更改字体:

public void fontChangeFn () {
    if (mEditText.getText().toString().trim().length() > 0) {
        // This is the part I'm confused with.
        Typeface tf= Typeface.createFromAsset(getAssets(), "Poppins-Bold.ttf");
        mEditText.setTypeface(tf);
    }
}

注意:在这段代码中Poppins-Bold.ttf是字体名称,您可以根据需要更改它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM