【问题标题】:TableLayout background from sdcard来自 SD 卡的 TableLayout 背景
【发布时间】:2011-04-05 17:30:22
【问题描述】:
我想从存储在 sdcard 上的图像中将背景图像放入可能的 java 文件中。
我使用下面的代码但没有成功:/
TableLayout tl=new TableLayout(this);
int tmp = this.getResources().getIdentifier("sdcard/pic.png", "drawable", getPackageName());
tl.setBackgroundResource(tmp);
一个想法?
【问题讨论】:
标签:
android
background
tablelayout
identifier
sd-card
【解决方案1】:
您无法从 SD 卡中获取文件作为资源。资源仅与 apk 捆绑在一起。您必须从 sdcard 上的文件创建一个可绘制对象并使用它:
tl.setBackgroundDrawable(Drawable.createFromPath(new File(Environment.getExternalStorageDirectory(), "pic.png").getAbsolutePath()));
另外你必须请求访问 SD 卡的权限,在清单中添加:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />