android - 下载 hdpi、mdpi 和 ldpi 可绘制对象并使用它们

标签 android android-layout

是否可以在运行时从给定的 URL 加载我的 hdpi、mdpi 和 ldpi 可绘制对象并使用它们?

如果没有,我该如何克服密度问题?

最佳答案

根据屏幕密度,您可以设置图片 URL,

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
     case DisplayMetrics.DENSITY_LOW:
                url = "your_ldpi_url";
                break;
     case DisplayMetrics.DENSITY_MEDIUM:
                url = "your_mdpi_url";
                break;
     case DisplayMetrics.DENSITY_HIGH: 
                url = "your_hdpi_url";  
                break;
}

您可以获取该图像并使用,

try {
    InputStream is = (InputStream) this.fetch(url);
    image = Drawable.createFromStream(is,"src");
} catch (MalformedURLException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

关于android - 下载 hdpi、mdpi 和 ldpi 可绘制对象并使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13553149/

相关文章:

java - 基于时间的循环在android上的一个很好的实现

android-layout - 如何解决包含具有layout_gravity ="center"子级的ScrollView的错误

java - 使用来自 editText android 的数据创建 Pdf

java - 将 BooleanArray 保存在 LibgGDX 首选项中

android - 在 Android 中将 CardView 显示为对话框

java - Android:键盘未显示在焦点上

android - 在 ListView 中使用 RelativeLayout 时 View 的背景颜色被移除

java - Android:布局未添加到彼此下方

android - 如何在相对布局内的图像上放置背景?

java - 捕获线程内的所有异常