2014-05-22 2 views
0

문제 해결을 도와 주셔서 감사합니다. setImageViewBitmap을 사용하여 캔버스로 둥근 모서리를 그려서 비트 맵에서 이미지 뷰를 위젯하지만 이미지 뷰의 모서리에 검은 색 필드가 있습니다. 이것이 위젯에서만 발생하는 이유는 모르겠지만 내 활동보기에서는 발생하지 않았습니다. 위젯의 모서리를 활동의 모서리처럼 보이게 만드는 방법은 무엇입니까? 활동에 http://goo.gl/YpzhJhandroid - 위젯 ImageView에서 검은 색 필드를 제거하는 방법

: 여기에 둥근 모서리를 만드는 내 코드 http://goo.gl/bc09oL

입니다

여기 내 상황 위젯에

입니다. 여기

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) { 
     Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), 
      bitmap.getHeight(), Config.ARGB_8888); 
     Canvas canvas = new Canvas(output); 

     final int color = 0xff424242; 
     //final int color = 0xff000000; 
     final Paint paint = new Paint(); 
     final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); 
     final RectF rectF = new RectF(rect); 
     final float roundPx = 60; 

     paint.setAntiAlias(true); 
     canvas.drawARGB(0, 0, 0, 0); 
     paint.setColor(color); 
     canvas.drawRoundRect(rectF, roundPx, roundPx, paint); 

     paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); 
     canvas.drawBitmap(bitmap, rect, rect, paint); 

     return output; 
     } 

위젯의 설정 코드

여기
bitmap = getRoundedCornerBitmap(orgin_bitmap); 
if(bitmap!=null) 
    views.setImageViewBitmap(R.id.main_imageview, bitmap); 

위젯 XML 인 리모트 뷰 RemoteViews이다

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/widget_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

    <ImageView 
     android:id="@+id/main_imageview" 
     android:layout_width="600dp" 
     android:layout_height="600dp" 
     android:layout_centerInParent="true" 
     android:background="@color/transparent" 
     android:visibility="visible" 
     android:src="@drawable/widget_back3" /> 

    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="600dp" 
     android:layout_height="600dp" 
     android:visibility="visible" 
     android:layout_centerInParent="true" 
     android:src="@drawable/widget_back2" /> 

    <ImageView 
     android:id="@+id/imageView_redheart" 
     android:layout_width="600dp" 
     android:layout_height="600dp" 
     android:layout_centerInParent="true" 
     android:background="@color/blue" 
     android:visibility="visible" 
     android:src="@drawable/widget_back1" /> 

    <TextView 
     android:id="@+id/now" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:background="@color/transparent" 
     android:fontFamily="sans-serif-condensed" 
     android:gravity="center" 
     android:shadowColor="@color/black" 
     android:shadowRadius="3.0" 
     android:text="9999" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:textColor="@color/trans" 
     android:textSize="25sp" 
     android:textStyle="bold" /> 

    </RelativeLayout> 

</LinearLayout> 

답변

0

setBackground의 (NULL); 는 XML

나는이 방법을 시도
android:background="@null" 
+0

도움이 될 것입니다,하지만 그것은 작동하지 않았다. 여전히 동일합니다. 감사합니다 ~ –

+0

게시물 ur 코드 어디 u는 immageview UR activty하시기 바랍니다. – Jakozo

+0

좋아요, 바로 게시합니다 –

관련 문제