본문 바로가기

Android

xml로 작성한 shape를 drawable로 불러들이기

간혹 xml로 작성한 shape를 drawable로 읽어들이고 싶을 때가...

그러고 싶다기 보단 그렇게 해야되서 어쩔...

 

모 이런경우?

액션바 바탕화면 색칠하기!!!

 

우선 바탕화면을 색칠 할 shape를 만듭니다

res/drawable 폴더에

actionbar_bg.xml 파일 맹글어서


    
    

요래 흰색 판때기를 제작해놓고

 

액션바를 색칠하는 코드를 보면...

ActionBar mActionBar;
mActionBar.setBackgroundDrawable(요기에 drawable이 들어가야함);

뭐 다른 방식으로 피해 갈 수 있을거 같기도한데 여튼 이런 경우에 필요합니다

 

자그럼 위에서 만든 shape xml을 drawable로 불러와 봅시다

Drawable actionbarBgDrawable;
Resources mResource = getResources();
try {
   actionbarBgDrawable = Drawable.createFromXml(mResource, mResource.getXml(R.drawable.actionbar_bg));
} catch (Exception ex) {
   Log.e("Error", "Exception loading drawable"); 
}

 

이제 작성한 drawable을 앞의 코드에 넣어주면 끝!

mActionBar.setBackgroundDrawable(actionbarBgDrawable);

 

참고 : http://spearhend.blogspot.kr/2012/04/load-android-drawable-from-xml.html