2012-08-28 25 views
8

Tôi đang làm cho một widget mà bạn có thể xác định kích thước văn bảnsụp đổ setTextViewTextSize trong một widget chỉ mà không Jelly Bean

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

tôi đang làm việc với android 4,1

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

Vấn đề là nó hoạt động chính xác trong Android 4.1, nhưng trong bất kỳ phiên bản nào khác (ICS, bánh gừng, v.v.) cho thấy một sự cố gần gũi.

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

Nếu tôi xóa dòng mã được sử dụng "setTextViewTextSize", ứng dụng hoạt động hoàn hảo.

Tôi không tìm thấy thông tin nào về lý do của lỗi này.

Tôi đánh giá cao bất kỳ trợ giúp nào.

Trân

Trả lời

4
+0

và phương pháp nào tôi có thể sử dụng trong phiên bản cũ hơn s của android? cảm ơn – Sergio76

+3

Chech this out: http://stackoverflow.com/questions/6721616/how-to-change-textsize-in-remoteviews – fiddler

+0

Hoàn hảo, Cảm ơn dân gian :) – Sergio76

1

Tôi đã làm điều này

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
    remoteViews.setTextViewTextSize(R.id.price, TypedValue.COMPLEX_UNIT_PX, 100f); 
} 
+0

giải pháp này hoạt động nhưng đừng quên rằng param cuối cùng là ' float' - vì vậy chúng ta phải sử dụng 'f' ở cuối, nó sẽ giống như: ' remoteViews.setTextViewTextSize (R.id.price, TypedValue.COMPLEX_UNIT_PX, 100f); ' – Choletski

6

nếu bạn muốn sử dụng một cái gì đó mà làm việc trên tất cả các phiên bản, sử dụng điều này:

remoteViews.setFloat(R.id.textView,"setTextSize",fontSize);