getCompatibilityInfo()は型Resourcesで未定義です
”getCompatibilityInfo()は型Resourcesで未定義です”とエラーになる
public TextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); mTextPaint.density = getResources().getDisplayMetrics().density; mTextPaint.setCompatibilityScaling( getResources().getCompatibilityInfo().applicationScale);
android.graphics.Paintでは、以下のように定義されている。
隠しのようだ。
/** @hide */ public void [Search] setCompatibilityScaling(float factor) { if (factor == 1.0) { mHasCompatScaling = false; mCompatScaling = mInvCompatScaling = 1.0f; } else { mHasCompatScaling = true; mCompatScaling = factor; mInvCompatScaling = 1.0f/factor; } }
grepcode Paint.setCompatibilityScaling
@hideについて
- Androidマーケットにアプリを出してみた:とあるソニー好きなエンジニアの日記:So-netブログ
- Proxy.newProxyInstance やばい @hideがベイビー・サブミッション - @vvakame の日記
それは非公開APIだな... フレームワークのソースを見れば ACTION_ALARM_CHANGED が存在してるのがわかるけれど http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/java/android/content/Intent.java @hide のタグが付いてるAPIは非公開で、SDK用のスタブ(android.jar)に入らないから、SDKではコンパイルできない リファレンスにも乗らない 標準のアプリはSDKを使うんじゃなくてフレームワークのソースを使って一緒にビルドするから行ける