この関数を使用して、Javaでdimens.xmlファイルからディメンションを取得しています。
public static float getDimen(Context context, String name)
{
Assert.assertNotNull(context);
Assert.assertNotNull(name);
Resources res = context.getResources();
int dimensionID = res.getIdentifier(name, "dimen", context.getPackageName());
return res.getDimension(dimensionID);
}
これは次のように機能getDimen(mContext, "textsize_small")
し、「R.dimen.textsize_small」値を取得します(または少なくともそうする必要があります)。
<resources>
<dimen name="textsize_small">10dp</dimen>
<dimen name="textsize_medium">13dp</dimen>
<dimen name="textsize_large">15dp</dimen>
<dimen name="textsize_xlarge">17dp</dimen>
</resources>
したがって、この値を取得した後、これを使用してTextViewのTextSizeを設定します。
float textsize = getDimen(mContext, "textsize_" + object.getDesiredSize);
textview.setTextSize(textsize);
Log.d(TAG, "TextSize: " + textview.getTextSize());
編集:
設定android:textSize="@dimen/textsize_small"
して使用しgetDimen(mContext, "textsize_small")
ました。最初のものではLog.dは15.0を返し、2番目のものでは22.5を返します
型変換が欠落していますか?