我正在尝试找到一种将背景资源应用于多个按钮的方法。这些资源来自 SDCARD。应用资源的通常方式是这样的:
Button b = new Button(getContext());
b.setBackgroundResource(R.drawable.button_states);
//where button_states is an XML file
但我不知道如何应用背景,如果 XML 文件来自 sdcard。有任何想法吗?
我正在尝试找到一种将背景资源应用于多个按钮的方法。这些资源来自 SDCARD。应用资源的通常方式是这样的:
Button b = new Button(getContext());
b.setBackgroundResource(R.drawable.button_states);
//where button_states is an XML file
但我不知道如何应用背景,如果 XML 文件来自 sdcard。有任何想法吗?
使用下面的代码,它可能会帮助你。
Button b = new Button(getContext());
Bitmap bmp = BitmapFactory.decodeFile("/mnt/sdcard/test.png");
Drawable d = new BitmapDrawable(bmp);
b.setBackgroundDrawable(d);
String rootPath =Environment.getExternalStorageDirectory().getAbsolutePath(); // Returns path to sdcard
rootPath+="/test.png"
Bitmap b = BitmapFactory.decodeFile(s);
mImageView.setImageBitmap(b);
不要将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 文件中