android - 来自 SD 卡的 TableLayout 背景

标签 android background tablelayout identifier sd-card

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

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

一个想法?

最佳答案

您无法从 SD 卡获取文件作为资源。资源仅与 apk bundle 。您必须从 sdcard 上的文件创建一个可绘制对象并使用它:

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

此外,您还必须请求访问 SD 卡的权限,在 list 中添加:

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

关于android - 来自 SD 卡的 TableLayout 背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3600042/

相关文章:

java-me - LWUIT 1.5 表 - 水平跨越布局

android - Android 中可点击的 TableRow 示例

android - 在 TableLayout 中的 TableRow 中添加左右边距时隐藏的 EditText 字符

android - 在 xml 布局中引用 build.gradle versionName 属性

ios - 应用程序进入后台后每 n 分钟获取一次用户位置

android - 在使用带有选项卡布局的自定义 View 时加载 Activity 时突出显示 View 寻呼机中的第一项?

time - 根据时间改变背景 - Objective C

ios - 在 ios 上滚动时固定背景上的白色区域

java - Twitter OAuth 回调似乎在 Android 中不起作用

android - 在 `ListView` 中,为什么禁用 `animationCache` 和 `scrollingCache` 会减少滚动滞后?