私はRGB値の使用を避けようとしているので、この方法:
public LineAndPointFormatter(Integer lineColor, Integer vertexColor, Integer fillColor) {
this(lineColor, vertexColor, fillColor, FillDirection.BOTTOM);
}
私が渡すことになっている場所:
LineAndPointFormatter lpf = new LineAndPointFormatter(Color.rgb(0, 0, 200), null, Color.rgb(0, 0, 80));
うまく機能していますが、この方法を使用したい:
public LineAndPointFormatter(Context ctx, int xmlCfgId) {
// prevent configuration of classes derived from this one:
if (getClass().equals(LineAndPointFormatter.class)) {
Configurator.configure(ctx, this, xmlCfgId);
}
}
したがって、colors.xml リソース ID を使用して、「colorID」を設定し、後で渡すことによってすべてのグラフの色を管理できます (colorID は、ログに -65536 として表示されるか、または に応じてそのバリエーションとして表示されます)。このコードは Fragment を拡張しているクラス内にあるため、Context が正しく取得されているかどうか疑問に思っています..
ここに私が試したことのいくつかがあります:
LineAndPointFormatter seriesFormat = new LineAndPointFormatter(getActivity().getApplicationContext(), getResources().getColor(R.color.blue));
LineAndPointFormatter seriesFormat = new LineAndPointFormatter(getActivity().getApplicationContext(), colorID);
LineAndPointFormatter seriesFormat = new LineAndPointFormatter(getActivity().getApplicationContext(), getResources().getColor(colorID));
等々..
私はプラグインを遠ざけますが、誰かが LineAndPointFormatter の Context バージョンを使用している場合、同様の問題に遭遇した可能性がありますか?
例外は次のようになります。
05-14 12:47:25.917: E/AndroidRuntime(14023): android.content.res.Resources$NotFoundException: リソース ID #0xff0000ff
色を #ff0000ff 形式に書き直す必要がありますか??
編集:colors.xmlを追加
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="transparent_white">#66FFFFFF</color>
<color name="yellow">#FFFF00</color>
<color name="fuchsia">#FF00FF</color>
<color name="red">#FF0000</color>
<color name="silver">#C0C0C0</color>
<color name="gray">#808080</color>
<color name="olive">#808000</color>
<color name="purple">#800080</color>
<color name="maroon">#800000</color>
<color name="aqua">#00FFFF</color>
<color name="lime">#00FF00</color>
<color name="teal">#008080</color>
<color name="green">#008000</color>
<color name="blue">#0000ff</color>
<color name="navy">#000080</color>
<color name="black">#000000</color>
</resources>