回答
另一種選擇是創建一個自定義LinearLayout
,其中包含四個ImageViews
xml,並可以動態重新組織使用權重顯示多少個ImageViews
。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="100dp"
android:layout_height="100dp">
<LinearLayout
android:id="@+id/left_container"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_width="50dp"
android:layout_height="100dp"
android:orientation="vertical">
<ImageView
android:id="@+id/top_left_image"
android:layout_width="50dp"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#111" />
<ImageView
android:id="@+id/bottom_left_image"
android:layout_width="50dp"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#333" />
</LinearLayout>
<LinearLayout
android:id="@+id/right_container"
android:layout_width="50dp"
android:layout_height="100dp"
android:layout_toRightOf="@+id/left_container"
android:orientation="vertical">
<ImageView
android:id="@+id/top_right_image"
android:layout_width="50dp"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#555" />
<ImageView
android:id="@+id/bottom_right_image"
android:layout_width="50dp"
android:layout_height="0dp"
android:layout_weight="0"
android:background="#777" />
</LinearLayout>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/transparent_circle_image"/>
</RelativeLayout>
你提到,你是從URL中加載圖像,所以如果你使用這種方法,你將能夠使用圖書館像Picasso加載圖片,你就不必擔心等待所有圖片在繪製圓形圖像之前下載。如果你這樣做,每個圖像可以獨立於其他圖像加載。
唯一的缺點是您將不得不使用具有透明圓形背景的圖像來創建圓形圖像的外觀。你可以創建一個常用的drawable來使用。或者您可以嘗試將其繪製到畫布上。這questions有一個很好的解決方案,將創建一個自定義視圖,繪製一個透明的圓圈。
如果您想使用的自定義視圖只需更換
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/transparent_circle_image"/>
與
<com.app.view.TransparentCircle
android:layout_width="match_parent"
android:layout_height="match_parent"/>
喜歡它!最後一個問題 - 我應該如何最有效地創建具有透明圓形背景的圖像? –
我剛剛更新了我的答案,並提供了一個鏈接,指向另一個爲透明圓實現自定義視圖的問題。要麼使用它,要麼只是創建一個正常的圖像來使用。 –
沒問題,祝你好運! –
有幾個很好的第三部分庫,你可以使用這個創建圓形圖像。但事先您需要將多個圖像組合成一個矩形,然後可以製作成圓形。
我會看看CircleImageView或RoundedImageView。區別在於他們的名字描述CircleImageView
會給你一個完美的圓形圖像。 RoundedImageView
實際上可以提供矩形,橢圓形或圓形的圓角。
如果您試圖讓您的應用輕量化並避免使用外部庫,那麼您也可以在中間創建一個圓形圖像,並在中間使用常規圖像疊加爲源圖像頂部的背景圖像ImageView
。
我可以在CircleImageView庫中放置多個圖像嗎?它似乎沒有支持,但尚未 –
@AnkitGoyal不使用任何外部庫:只是看看它是如何完成在'android.support.v4.graphics.drawable.RoundedBitmapDrawable' – pskink
剛編輯我的答案,你會想要首先將圖像組合成矩形。然後使用其中一個庫。 –
- 1. 如何使用圓角和兩個文字視圖創建自定義視圖?
- 2. 創建一個圓角視圖
- 3. Android - 如何創建一個帶圓角和平鋪圖像背景的視圖?
- 4. 如何使用排球庫創建圓角圖像android
- 5. 如何使用圖像創建背景,無邊框圓角
- 6. 如何在C#中使用圓角創建圖像?
- 7. 如何創建圓形圖庫視圖/圖像切換器/圖像視圖...?
- 8. 如何在Android中創建圓角地圖視圖?
- 9. 如何創建一個圓角的圖像邊框?
- 10. 如何用透明邊框和圓角創建Flex圖像?
- 11. 如何用Java中的圓角創建圖像?
- 12. 如何使用FFMpeg從多個圖像序列創建視頻?
- 13. 圓角圖像
- 14. 如何用多個表創建視圖?
- 15. 如何在同一視角創建多個eclipse視圖..?
- 16. 如何按角色爲不同用戶創建多個視圖?
- 17. 試圖創建一個圓角UIButton類
- 18. 如何使用多個動態字段創建「創建視圖」?
- 19. 如何爲移動網頁視圖創建圓角
- 20. 如何創建圓形圖像包裝
- 21. 如何創建圖像效果和Imageview在Android的圓角
- 22. 如何創建多個圖像視圖設計?
- 23. 使用其他圖像視圖標籤創建圖像視圖
- 24. 如何使用php和html在縮略圖上創建圓角?
- 25. 如何使用Raphael畫布庫創建多個圖層圖像?
- 26. Javascript圓角圖像
- 27. 圖像的圓角
- 28. 如何創建可用於多個視圖的視圖?
- 29. SQL - 使用多個CTE創建視圖
- 30. 使用多個表創建視圖?
使用習慣'Drawable'其中提請4或2'Bitmap's在'draw'方法 – pskink
@ pskink我該怎麼做呢?有沒有可以指引我的導遊?謝謝! –
是的,看到'android.support.v4.graphics.drawable.RoundedBitmapDrawable'的來源 – pskink