2012-08-16 6 views
1

Я пытаюсь найти способ применения фоновых ресурсов к нескольким кнопкам. Эти ресурсы взяты из SDCARD. Обычный способ применения ресурсов заключается в следующем:Применение фоновых ресурсов из SDCARD

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

Но я не знаю, как применить фон, если файл XML является из SDCard. Есть идеи?

+0

Вы храните файл xml в SD-карте и пытаетесь его использовать? –

+0

Да sharath G, я храню XML в sdcard –

+0

Могу ли я знать необходимость хранения xml-файла в sdcard @Jayson Tamayo –

ответ

2

Используйте приведенный ниже код для этого, это может вам помочь.

Button b = new Button(getContext()); 
Bitmap bmp = BitmapFactory.decodeFile("/mnt/sdcard/test.png"); 
Drawable d = new BitmapDrawable(bmp); 
b.setBackgroundDrawable(d); 
1
String rootPath =Environment.getExternalStorageDirectory().getAbsolutePath(); // Returns path to sdcard 
rootPath+="/test.png" 
Bitmap b = BitmapFactory.decodeFile(s); 
mImageView.setImageBitmap(b); 
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 файл

Смежные вопросы