2017-04-02 2 views
1

보기 원하면 png of a house 자원이 있습니다. 기본적으로 어두운 홈 버튼입니다.자원의 색을 변경하십시오.

드로어 블로 이미지 애셋으로 포함 및 가져 왔습니다.

버튼으로 설정하려고하지만 프로그래밍 방식으로 흰색으로 변경하려고합니다. 여기

어떻게 흰색으로 색상을 변경하려고 해요 것 :

 ImageButton txtbtnAccept = new ImageButton(this); 
     this._surveyHomeButton = txtbtnAccept; 
     txtbtnAccept.setId(this.generateViewId()); 
     txtbtnAccept.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
     layoutParams = (RelativeLayout.LayoutParams) txtbtnAccept.getLayoutParams(); 
     layoutParams.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE); 
     layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE); 
     layoutParams.height = 200; 
     layoutParams.width = 200; 
     txtbtnAccept.setScaleType(ImageView.ScaleType.FIT_CENTER); 
     txtbtnAccept.setAdjustViewBounds(true); 

     txtbtnAccept.setLayoutParams(layoutParams); 

     txtbtnAccept.setBackgroundResource(0); 
     txtbtnAccept.setVisibility(View.GONE); 

     Bitmap homeImage = BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_home); 
     Drawable whiteImg = new BitmapDrawable(getResources(), homeImage); 

     whiteImg.setColorFilter(Color.WHITE, PorterDuff.Mode.MULTIPLY); 
     txtbtnAccept.setImageDrawable(whiteImg); 
     txtbtnAccept.setImageBitmap(homeImage); 

내가 잘못 갈거야 어떤 생각?

답변

2

원하는 것을 색조라고합니다. DrawableCompat.setTint(Drawable, int)을보십시오.

+0

내가 올바른 길로 나를 이끌었습니다 - 여기 예를 사용하여 끝났습니다 - http://stackoverflow.com/questions/20121938/how-to-set-tint-for-an-image-view-programmatically-in- 기계적 인조 인간 –

관련 문제