2012-06-11 17 views
3

enter image description here如何邊框設置爲一個ImageView的

我在Android應用程序的工作,我想放置在ImageView在我看來,一個特定的位置。爲此,我申請了特定的代碼,併成功地工作:

ImageView image = (ImageView) findViewById(R.id.imageView1); 
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.mrng); 
Matrix mat = new Matrix(); 
mat.postRotate(350); 
Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(),bMap.getHeight(), mat, true); 
image.setImageBitmap(bMapRotate); 

現在我想爲此圖像設置一個邊框。爲此,我製作了一個xml形狀,並將其設置爲圖像視圖的背景。

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#FFFFFF" /> 
    <stroke android:width="3dp" android:color="#000000" /> 
</shape> 

但是,當我給圖像背景的形狀,它不給出正確的輸出形狀。請幫助我。

我不希望在ImageView周圍有邊框,而是圍繞旋轉的圖像邊框。

回答

4

編輯:我完全重寫我的答案根據問題的澄清。以下是我如何實現你想要的。我們的想法是繪製框架,然後旋轉:

ImageView image = (ImageView) findViewById(R.id.TestImage); 
    Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.image); 

    final int BORDER_WIDTH = 3; 
    final int BORDER_COLOR = Color.BLACK; 
    Bitmap res = Bitmap.createBitmap(bMap.getWidth() + 2 * BORDER_WIDTH, 
            bMap.getHeight() + 2 * BORDER_WIDTH, 
            bMap.getConfig()); 
    Canvas c = new Canvas(res); 
    Paint p = new Paint(); 
    p.setColor(BORDER_COLOR); 
    c.drawRect(0, 0, res.getWidth(), res.getHeight(), p); 
    p = new Paint(Paint.FILTER_BITMAP_FLAG); 
    c.drawBitmap(bMap, BORDER_WIDTH, BORDER_WIDTH, p); 

    Matrix mat = new Matrix(); 
    mat.postRotate(350); 
    Bitmap bMapRotate = Bitmap.createBitmap(res, 0, 0, res.getWidth(), res.getHeight(), mat, true); 
    image.setImageBitmap(bMapRotate);   

而這裏的結果的截圖:

enter image description here

+0

android:clipToBounds =「true」來處理這個問題。我不認爲有這樣的財產在imageview – Arun

+1

@阿倫我知道,與iOS混淆。我更新了我的答案:它是'android:cropToPadding' –

+0

我很抱歉地說,我仍然得到相同的輸出... – Arun

0

有一種方法可以在ImageView中放置邊框,甚至可以在android中放置任何視圖。在XML中,將四個簡單的<View>放在imageview的每一面。這些視圖可以分配任何類型的樣式。您可以使用相對佈局,您可以在圖像視圖中輕鬆放置四個邊框。

有點漫長的過程,但工程。

+0

這將正常工作只能證明我已經應用了矩陣。我必須用我的矩陣 – Arun