1

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

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

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

4

3 回答 3

2

使用下面的代码,它可能会帮助你。

Button b = new Button(getContext());
Bitmap bmp = BitmapFactory.decodeFile("/mnt/sdcard/test.png");
Drawable d = new BitmapDrawable(bmp);
b.setBackgroundDrawable(d);
于 2012-08-16T04:15:31.477 回答
1
String rootPath =Environment.getExternalStorageDirectory().getAbsolutePath(); // Returns path to sdcard
rootPath+="/test.png"
Bitmap b = BitmapFactory.decodeFile(s);
mImageView.setImageBitmap(b);
于 2012-08-16T04:24:44.137 回答
0

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

<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>

尝试将其用作可绘制文件夹中的单独 xml 文件并将其应用于所需的按钮,例如

style="@style/ButtonText

在布局 xml 文件中

于 2012-08-16T04:44:05.923 回答