应用SDCARD的背景资源

时间:2012-08-16 04:04:57

标签: android

我正在尝试找到一种方法将背景资源应用于多个按钮。这些资源来自SDCARD。应用资源的常用方法是:

Button b = new Button(getContext());
b.setBackgroundResource(R.drawable.button_states);
//where button_states is an XML file

但是如果XML文件来自sdcard,我不知道如何应用背景。有什么想法吗?

3 个答案:

答案 0 :(得分:2)

使用以下代码,它可能对您有帮助。

Button b = new Button(getContext());
Bitmap bmp = BitmapFactory.decodeFile("/mnt/sdcard/test.png");
Drawable d = new BitmapDrawable(bmp);
b.setBackgroundDrawable(d);

答案 1 :(得分:1)

String rootPath =Environment.getExternalStorageDirectory().getAbsolutePath(); // Returns path to sdcard
rootPath+="/test.png"
Bitmap b = BitmapFactory.decodeFile(s);
mImageView.setImageBitmap(b);

答案 2 :(得分:0)

而不是在sdcard中存储xml文件,而是使用类似这样的东西

<selector>
<item>
    <shape>
        <gradient
            android:startColor="#343434"
            android:endColor="#171717"
            android:angle="270" />
        <stroke
            android:width="1dp"
            android:color="#171717" />
        <corners
            android:radius="4dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>
</selector>

尝试在drawable文件夹中将其用作单独的xml文件,并将其应用于所需的按钮,如

style="@style/ButtonText
布局xml文件中的