1

実行時にすべてのドローアブルのサイズを印刷したい。したがって、hdpiデバイスを使用している場合、ドローアブルのサイズを印刷できますが、hdpiアクセスするにはどうすればよいでしょうか? 次のコードを使用して、すべてのドローアブル リソース ID にアクセスできます。mdpixhdpi

final Class<R.drawable> c = R.drawable.class;
final Field[] fields = c.getDeclaredFields();

for (int i = 0, max = fields.length; i < max; i++) {
    final int resourceId;
    try {
        resourceId = fields[i].getInt(drawableResources);
    } catch (Exception e) {
        continue;
    }
    /* make use of resourceId for accessing Drawables here */
}
4

1 に答える 1

3

わかりました。基本的には、次のような特定の密度のドローアブルを明示的に要求します。

Drawable drawable = resources.getDrawableForDensity(id, DisplayMetrics.DENSITY_XHIGH);

またはできればこのバージョン

Drawable drawable = resources.getDrawableForDensity(id, DisplayMetrics.DENSITY_XHIGH, theme);
于 2015-05-15T08:18:59.860 に答える