我正在尝试找到一种方法将背景资源应用于多个按钮。这些资源来自SDCARD。应用资源的常用方法是:
Button b = new Button(getContext());
b.setBackgroundResource(R.drawable.button_states);
//where button_states is an XML file
但是如果XML文件来自sdcard,我不知道如何应用背景。有什么想法吗?
答案 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文件中的