Tablelayout Фон из SDCard
-
25-09-2019 - |
Вопрос
Я хочу поставить фоновое изображение в мае Java-файл из изображения, хранящегося на SDCard. Я использую код ниже, но без успеха: /
TableLayout tl=new TableLayout(this);
int tmp = this.getResources().getIdentifier("sdcard/pic.png", "drawable", getPackageName());
tl.setBackgroundResource(tmp);
идея ?
Решение
Вы не можете получить файл с SD-карты в качестве ресурсов. Ресурсы объединены только с APK. Вы должны создать Drawable из файла на SDCard и использовать это:
tl.setBackgroundDrawable(Drawable.createFromPath(new File(Environment.getExternalStorageDirectory(), "pic.png").getAbsolutePath()));
Также вы должны запросить разрешение на доступ к SD-карте, добавить в манифесте:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Не связан с StackOverflow