@946898963
2018-09-03T15:49:55.000000Z
字数 1344
阅读 1538
Android学习笔记
Clipping可以让我们改变一个视图的外形。要使用Clipping,首先需要使用ViewOutineProvider来修改outline,然后再通过setOutlineProvider将outline作用给视图。
利用裁剪来实现一个圆角矩形的TextView和一个圆形的ImageView。
<TextView
android:id="@+id/tv"
android:layout_width="96dp"
android:layout_height="96dp"
android:text="Hello World!"
android:background="@color/colorAccent"
/>
<ImageView
android:id="@+id/iv"
android:layout_width="96dp"
android:layout_height="96dp"
android:src="@drawable/touxiang"
/>
final TextView tv = (TextView) findViewById(R.id.tv);
ViewOutlineProvider viewOutlineProvider1 = new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
outline.setRoundRect(0,0,view.getWidth(),view.getHeight(),30);
}
};
tv.setOutlineProvider(viewOutlineProvider1);
tv.setClipToOutline(true);
final ImageView imageView = (ImageView) findViewById(R.id.iv);
ViewOutlineProvider viewOutlineProvider2 = new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
outline.setOval(0,0,view.getWidth(),view.getHeight());
}
};
imageView.setOutlineProvider(viewOutlineProvider2);
imageView.setClipToOutline(true);
效果图:
setClipToOutline方法可以在前设置也可以在后设置,如果设置为false则表示禁止裁剪,setOutlineProvider方法将无效。
注意:
参考链接: