8

我正在制作一个小部件,您可以在其中指定文本大小

controles.setTextViewTextSize(R.id.LblMsg, TypedValue.COMPLEX_UNIT_SP, textSize);

我正在使用 android 4.1

android:minSdkVersion="8" android:targetSdkVersion="16"

问题是它在 android 4.1 中可以正常工作,但在任何其他版本(ICS、姜饼等)中都显示强制关闭。

java.lang.NoSuchMethodError: android.widget.RemoteViews.setTextViewTextSize

如果我删除使用“setTextViewTextSize”的代码行,则应用程序可以完美运行。

我没有找到有关此错误原因的信息。

我很感激任何帮助。

问候

4

3 回答 3

7

如果您希望使用适用于所有版本的东西,请使用:

remoteViews.setFloat(R.id.textView,"setTextSize",fontSize);
于 2013-05-18T23:14:03.807 回答
4

此方法仅从 API 级别 16 (android 4.1) 开始可用:http: //developer.android.com/reference/android/widget/RemoteViews.html#setTextViewTextSize(int, int, float)

于 2012-08-28T11:24:30.960 回答
1

我做了这个

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
   remoteViews.setTextViewTextSize(R.id.price, TypedValue.COMPLEX_UNIT_PX, 100f);
}
于 2012-12-29T01:11:55.403 回答