2013-08-28 79 views
0

我的imageview沒有完全顯示在imageview的寬度看到這個圖像它的顯示空白空間http://imgur.com/3fDXgij但我想要顯示像這樣的形狀http://imgur.com/g8UeI4b和imageview在imageview中顯示完整沒有下面的白色空間是我的代碼請幫我如何顯示沒有空白的imageview

<ImageView 
    android:id="@+id/test_button_image" 
    android:layout_width="80dp" 
    android:layout_marginLeft="10dp" 
    android:layout_marginTop="10dp" 
    android:layout_marginBottom="15dp" 
    android:layout_height="60dp" 
    android:layout_alignParentTop="true" 
    android:background="@drawable/border6" 
    android:src="@drawable/ic_launcher" > 
</ImageView> 

回答

0

的ImageView填補佈局(在你的XML):

android:scaleType="fitXY" 

如果要砍你不得不角落:

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

    final int color = 0xff424242; 
    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 = pixels; 

    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; 
} 

reference

2
android:adjustViewBounds="true" 

參考:http://developer.android.com/reference/android/widget/ImageView.html#attr_android:adjustViewBounds 這應該解決您的問題。在這種情況下,縮放並不是你的問題,因爲圖像已經縮放。問題在於容器試圖在佈局中獲得所有可能的空間,但圖像無法擴大其寬度,因爲它試圖保持其比例。

<ImageView 
    android:id="@+id/test_button_image" 
    android:layout_width="80dp" 
    android:adjustViewBounds="true" 
    android:layout_marginLeft="10dp" 
    android:layout_marginTop="10dp" 
    android:layout_marginBottom="15dp" 
    android:layout_height="60dp" 
    android:layout_alignParentTop="true" 
    android:background="@drawable/border6" 
    android:src="@drawable/ic_launcher" > 
</ImageView> 

該屬性將「裁剪」ImageView中剩餘的未使用空間。

此外,你應該檢查你的背景圖像,如果它正確的9patch圖像。

我會建議你把沒有任何背景的imageview放在FrameLayout中,併爲這個FrameLayout設置邊框圖像。

+0

這完全解決了問題!謝謝! –

-1
<LinearLayout 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:background="@Android:Color:white" 
     android:padding="1dp" > 

    <ImageView 
    android:id="@+id/test_button_image" 
    android:layout_width="wrapcontent" 
    android:layout_height="wrapcontent" 
    android:background="@drawable/border6" 
    > 
</ImageView> 

</LinearLayout>