从SD卡的TableLayout背景

时间:2010-08-30 11:51:31

标签: android background tablelayout identifier sd-card

我想在存储在SD卡上的图像中将背景图像放在may java文件中。 我使用下面的代码但没有成功:/

       TableLayout tl=new TableLayout(this);
       int tmp = this.getResources().getIdentifier("sdcard/pic.png", "drawable", getPackageName());
       tl.setBackgroundResource(tmp);

一个想法?

1 个答案:

答案 0 :(得分:3)

您无法从SD卡获取文件作为资源。资源仅与apk捆绑在一起。您必须从SD卡上的文件创建一个drawable并使用它:

tl.setBackgroundDrawable(Drawable.createFromPath(new File(Environment.getExternalStorageDirectory(), "pic.png").getAbsolutePath()));

此外,您必须要求获得访问SD卡的权限,请在清单中添加:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />