마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

SdCard 이미지를 버튼에 적용하고 싶습니다.

0 추천

SdCard에 있는 이미지를 Java 코드를 통해 버튼 이미지로 사용하려 합니다.

일반적인 이미지 파일 적용은 아래와 같은 방법으로 적용이 되나,
버튼 눌림/안 눌림 상태 변경을 위해 Xml을 외부로 빼서 적용하려 하니 버튼이 표시되지 않는군요.

해결 방안이 없을까요...?

<이미지 경로 >

   보통 상태 이미지 경로: /storage/sdcard/Abs/Skins/normal_btn.png

   눌림 상태 이미지 경로: /storage/sdcard/Abs/Skins/normal_btn_over.png

   **작성한 Xml 내용입니다.


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:drawable="./normal_btn" android:state_pressed="false" />     
	<item android:drawable="./normal_btn_over" android:state_pressed="true"/> 
</selector> 

 

  **기술된 Java Code 

mbtn_pre.setBackgroundDrawable(Drawable.createFromPath(new File(Environment.getExternalStorageDirectory() + "/Abs/Skins", "normal_btn.xml").getAbsolut
ePath()));

 

 

 

 

주노파파 (1,380 포인트) 님이 2013년 6월 17일 질문

1개의 답변

+1 추천
 
채택된 답변

응용하세요

StateListDrawable states = new StateListDrawable();  
//states.addState(new int[] {android.R.attr.state_pressed},  getDrawable(pressed));  
states.addState(new int[] {-android.R.attr.state_enabled},  getDrawable(disabled));  
states.addState(new int[] { }, getDrawable(normal));  

 

aucd29 (218,390 포인트) 님이 2013년 6월 17일 답변
주노파파님이 2013년 6월 17일 채택됨
많은 도움이 되었습니다. 감사드립니다.
...