2011-10-27 2 views
2

나는 framelayout이있는 위젯이 있습니다.Android 변경 위젯 색상 런타임시 업데이트 됨

런타임시 내 위젯 색상/모양을 변경하는 방법이 있습니까?

배경에 xml 모양을 사용하고 있습니다.

갱신 :

제가 시도 :

  Paint paint=new Paint(); 

      Bitmap bitmap=Bitmap.createBitmap(100, 100, Config.ARGB_8888); 
      Canvas canvas=new Canvas(bitmap); 
      paint.setColor(Color.RED); 
      canvas.drawRoundRect(new RectF(1,1,111,111), 10, 10, paint); 

      updateViews.setImageViewBitmap(R.id.FL, bitmap); 

는 -> 오류 로딩 위젯

2

updateViews.setImageViewResource(R.id.FL, R.drawable.blue); 

-> 오류 로딩 위젯

+0

그 후 이벤트에서 색상/모양을 변경 하시겠습니까? onFocus 또는 onClick과 같은 것들이 있습니까? – espinchi

답변

1

ImageView을 추가하여 FrameLayout 전체를 채운 다음 RemoteViews.setImageViewResource(int viewId, int srcId)을 사용하여 문제를 해결할 수 있습니다.

+0

내가 전에 해봤지만, 이것에 대한 "오류 로딩 위젯"을 얻을 줄 알았는데 :( – lacas

+0

그건 이상한데,'RL'은'ImageView' ? 전에 setImageViewResource 사용한 및 그것을 작동했습니다. – Giohji

+0

플로리다 framelayout, 해당 작업을하지? 유일한 imageview? – lacas

0

위젯이 TextView라고 가정하고 색상을 흰색으로 변경하려고합니다.

먼저 당신이 XML 레이아웃에 지정된 ID 사용함으로써,에 대한 참조를 잡아 : 컬러를 들어

textView.setBackgroundColorResource(R.color.white); 
+0

위젯 모드에서 작동하지 않는 위젯 모드에서 작동하는 위젯에서만 사용 가능 updateViews – lacas

+0

죄송합니다. "GUI 구성 요소"에서처럼 "위젯"을 읽지 만 "홈 위젯에있는 Android 위젯"과는 다릅니다. – espinchi

0

: 이제

TextView textView = (TextView) findViewById(R.id.textViewId); 

을, 당신은 색상을 설정할 수 있습니다 :

: 모양 또는 RESOURSE를 들어

view.setBackgroundColor(Color.parseColor("#FFFFFF")); 

view.setBackgroundResource(R.drawable.my_shape); 
+0

위젯 모드에서는 작동하지 않는 위젯에서만 작동합니다. updateViews – lacas

+0

내 상태가 좋지 않습니다. 난 당신이 위젯 패키지 ** android.widget ** – fadisdh