Android改配置项(字体大小)后返回应用时程序(Fragment)崩溃

RT,

昨天碰到的BUG.Android改配置项(字体大小)后返回应用时程序(Fragment)崩溃

1.Activity中有一个Fragment,代码:

XXXActivity{
	FragmentTransaction ft = getFragmentManager().beginTransaction();
	keypadFragment = new ModifyDetailsItemFragment(params);
	ft.add(R.id.frame_keypad, keypadFragment);
	ft.commit();
}

2.切到系统设置画面,修改系统字体大小:小->大

3.切回程序,程序崩溃

06-23 10:22:49.651: E/AndroidRuntime(21729): FATAL EXCEPTION: main
06-23 10:22:49.651: E/AndroidRuntime(21729): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx/com.xxx.XXXActivity}: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.xxx.ModifyDetailsItemFragment: make sure class name exists, is public, and has an empty constructor that is public
06-23 10:22:49.651: E/AndroidRuntime(21729): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1992)
06
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Fragment中适应字体大小主要有两种方法。一种是使用不同的dimen资源来适配不同分辨率和屏幕大小,另一种是通过代码动态设置字体大小。 第一种方法是使用不同的dimen资源。我们可以在res目录下新建文件夹values-xxxx(xxxx表示对应的屏幕尺寸或分辨率),然后在这个文件夹下创建dimens.xml文件。在dimens.xml文件中定义不同屏幕下的字体大小,如: ```xml <!-- values-xxxhdpi/dimens.xml --> <dimen name="text_size">24sp</dimen> <!-- values-hdpi/dimens.xml --> <dimen name="text_size">18sp</dimen> <!-- values-mdpi/dimens.xml --> <dimen name="text_size">14sp</dimen> ``` 然后在布局文件中使用这个dimen资源来设置字体大小,如: ```xml <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="@dimen/text_size" android:text="Hello World" /> ``` 这样就可以根据不同的屏幕尺寸和分辨率适配字体大小了。 另一种方法是通过代码动态设置字体大小。可以通过TextView的setTextSize()方法来设置字体大小,如: ```java TextView textView = findViewById(R.id.text_view); textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18); ``` 其中,第一个参数是设置字体大小的单位,这里使用COMPLEX_UNIT_SP表示使用sp作为单位,第二个参数是具体的字体大小。可以根据实际情况动态计算字体大小,以适应不同的屏幕尺寸和分辨率。 综上所述,可以通过使用不同的dimen资源或者动态设置字体大小的方式来适应Android Fragment中的字体大小。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Android字体大小自适应不同分辨率的解决办法](https://download.csdn.net/download/weixin_38748740/14023953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Android Fragment的使用 六 适应屏幕大小](https://blog.csdn.net/weixin_31433527/article/details/117513320)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值