2013-10-23 2 views
2

위젯 배경색을 동적으로 변경하려고하는데 배경색을 설정할 때 내 배경 레이아웃의 모서리 (배경이 무색 인 모양)가 손실됩니다.레이아웃 모서리를 잃지 않고 위젯 배경색을 변경하는 방법은 무엇입니까?

즉, 배경색을 사용자 지정 색으로 선택하고 배경에 적용하면 전체 배경 드로어 블을 적용한 것처럼 작동합니다.

이렇게하면 코너가 없기 때문에 위젯이 나빠 보이기 때문에 어떻게 레이아웃 코너를 잃지 않도록 할 수 있습니까? 다음

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <corners android:radius="3dp" /> 
</shape> 

그리고 :

답변

3

이 작업을 수행하는 가장 쉬운 방법은 기본 레이아웃 (fill_parent)에, 배경으로 이미지 뷰를 추가하고 다음 코드를 가지고 @ 드로어 블/사진 background_with_corners에 그것의 배경을 설정하는 것입니다 코드 호출 remoteViews.setInt(R.id.backgroundimage, "setColorFilter", color);에서 선택한 모양을 유지하는 이미지에 선택한 색상을 적용합니다.

투명성이있는 색상 인 경우 SDK> = 16 인 경우 remoteViews.setInt(R.id.backgroundimage, "setImageAlpha", Color.alpha(color);을 호출하십시오. else remoteViews.setInt(R.id.backgroundimage, "setAlpha", Color.alpha(color);

도움이되기를 바랍니다.

+0

감사합니다. 이렇게하면 완벽하게 잘 작동합니다 :) – TheOnlyAnil

관련 문제