java - 如何让用户决定按钮的字体?
问题描述
代码
Button mButton1;
int mDefaultColor1;
SharedPreferences mSharedPreferences1;
SharedPreferences.Editor editor1;
mButton1 = (Button)findViewById(R.id.buttontextfontsent);
mSharedPreferences1 = PreferenceManager.getDefaultSharedPreferences(this);
mDefaultColor1 = mSharedPreferences1.getInt("Default_Color1",ContextCompat.getColor(CustomizeFont.this,R.color.white));
mButton1.setBackgroundColor(mDefaultColor1);
选色后
editor2 = PreferenceManager.getDefaultSharedPreferences(CustomizeColor.this).edit();
editor2.putInt("Default_Color2", color);
editor2.apply();
}
这就是我曾经让用户更改按钮颜色的方法......我想对字体做同样的事情......但是很难......有人能帮帮我吗?我想为此使用共享首选项。
解决方案
在“src”中创建一个名为“Assets”的文件夹。将字体(.ttf)文件复制到 Assets 文件夹并使用:
Button button=(Button) findViewById(R.id.enter);
Typeface type=Typeface.createFromAsset(getAssets(), "arial.ttf");
button.setTypeface(type);
推荐阅读
- kotlin - 我在 ViewModel 中的 RecyclerView 崩溃应用程序 - kotlin android studio
- android - RecyclerView OnItemClick 位置在 Viewpager Kotlin 中变为空
- html - WKWebView 重复错误(加载动态 html)Swift
- reactjs - 如何使用 React-awesome-calendar 中的单独按钮选择年份
- c++ - 如何在 C++ 中将部分 int64_t 复制到 char[4]?
- bash - 为什么我的 bash 脚本无法识别 date 命令中的变量?
- python - 如何使用分钟和秒在 pandas 中按 datetime64 列过滤数据框?
- windows - 管理中心 powershell:应用程序无法正确启动
- javascript - 如何检查脚本是否运行完毕
- javascript - 为什么 toString 总是在严格模式下运行?