私はいくつか持っていますが、または同様の手法 ImageView's
を使用して角を丸めるのは面倒です。ImageLoader
LinearLayout
画像を覆うだけの を作成できますか? (または画像を背景として設定しますか?) たとえば、レイアウトの角が丸くなっている場合、下の画像の一部を非表示にして、丸みを帯びた角の効果を作成しますか?
私はこれで遊んでみましたが(具体的には背景として画像を使用しています)、画像の角を隠すことができないようです。
私はいくつか持っていますが、または同様の手法 ImageView's
を使用して角を丸めるのは面倒です。ImageLoader
LinearLayout
画像を覆うだけの を作成できますか? (または画像を背景として設定しますか?) たとえば、レイアウトの角が丸くなっている場合、下の画像の一部を非表示にして、丸みを帯びた角の効果を作成しますか?
私はこれで遊んでみましたが(具体的には背景として画像を使用しています)、画像の角を隠すことができないようです。
まあ、FrameLayoutまたはRelativeLayoutを使用すると、次のようにイメージビューの上に2番目のレイヤーを簡単にスタックできます。
<FrameLayout
android:layout_width="60dp"
android:layout_width="60dp">
<ImageView android:id="@+id/myimage"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/myrealimage" />
<ImageView android:id="@+id/my_roundedcorner_overlay"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/myoverlaywithroundedcornersandtransparentcenter" />
</FrameLayout>
ただし、これによりオーバードローが発生し、レイアウトがより複雑になることに注意してください。
実際の画像を ImageView の背景として設定し、オーバーレイを ImageViews src として設定することもできますが、この場合はパディングを設定しないでください (ライブラリを使用して Web から画像を読み込むことも、おそらくもう機能しません)。
最もクリーンな解決策は、ImageView を拡張するカスタム ウィジェットを作成し、その onDraw メソッドをオーバーライドし、http: //www.curious-creature.org/2012/12/11/android-recipe-1- のように、ビットマップ シェーダーを使用してキャンバスにペイントすることです。 image-with-rounded-corners/ほとんど同じですが、一度実行すれば、必要なだけ再利用できます。