有没有可能在Android屏蔽视图?

是否可以掩盖意见? 例如,如果我有一个devise,要求在一个椭圆形的开放中可见的列表视图。 有没有办法为视图创build一个面具? 它被称为别的吗? 因为我发现在android文档中掩盖的所有引用都是关于掩盖canvas对象或drawable的。 但是我不认为像列表视图那样绘制交互式对象是一个很好的方法。 这只是现在处理的一个限制吗?

Solutions Collecting From Web of "有没有可能在Android屏蔽视图?"

是的,这是 – 你必须重写你的视图的绘图方法 – 即:

...... final Path path = new Path(); path.addRoundRect(new RectF(0,0,getWidth(),getHeight()),10,10,Direction.CW); ...... @Override protected void dispatchDraw(Canvas canvas){ canvas.clipPath(path); super.dispatchDraw(canvas); } 

这将只在path设置的边界中绘制视图。

是的,你甚至可以掩盖完整的布局。 无耻的自我堵塞

 <com.christophesmet.android.views.maskableframelayout.MaskableFrameLayout android:id="@+id/frm_mask_animated" android:layout_width="100dp" app:porterduffxfermode="DST_IN" app:mask="@drawable/animation_mask" android:layout_height="100dp"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/unicorn"/> 

你可以在这里find它