@946898963
2018-09-03T07:49:55.000000Z
字数 1344
阅读 1900
Android学习笔记
Clipping可以让我们改变一个视图的外形。要使用Clipping,首先需要使用ViewOutineProvider来修改outline,然后再通过setOutlineProvider将outline作用给视图。
利用裁剪来实现一个圆角矩形的TextView和一个圆形的ImageView。
<TextViewandroid:id="@+id/tv"android:layout_width="96dp"android:layout_height="96dp"android:text="Hello World!"android:background="@color/colorAccent"/><ImageViewandroid: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() {@Overridepublic 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() {@Overridepublic void getOutline(View view, Outline outline) {outline.setOval(0,0,view.getWidth(),view.getHeight());}};imageView.setOutlineProvider(viewOutlineProvider2);imageView.setClipToOutline(true);
效果图:

setClipToOutline方法可以在前设置也可以在后设置,如果设置为false则表示禁止裁剪,setOutlineProvider方法将无效。
注意:
参考链接: