2016-03-28 85 views

回答

2

您尝试实现的方法可以通过几种方法完成。

第一种方法 - 使用叠加图像

这可能是最直接的方法来实现这一点。创建一个位图,或者一个基本上是一个带有所需背景颜色的三角形的绘图(在你的例子中为深红色),然后将它提供给一个放在原来的ImageView上的ImageView,对齐底部。这个新的ImageView将基本上阻止你的原始ImageView的底部,给你想要的效果。

第二种方法 - 使用图像掩模

此方法是稍微更复杂,但是将去除需要具有在布局中的附加ImageView。基本上,这意味着在将其设置在ImageView之前,您需要稍微处理位图,并且需要一个额外的位图来定义生成的图像的形状。该位图将成为图像的“蒙版”。请参阅Click here以查看有关如何执行此操作的示例。

+0

谢谢你的回答。它工作正常!但有一句话是我们需要创建蒙版图像。我们不能使用普通图像作为蒙版图像。 –

+0

你可以从下面的链接掩盖你的形象:http://www166.lunapic.com/editor/?action=mask –

0

试试这个,用API> 11

mImageView.setRotation(angle); 

与API> = 11

您还可以设置从XML

android:rotation="90" 
+0

机器人:旋转=“90”只是旋转ImageView的。不再。 –

0

您可以扩展的ImageView并重写的onDraw方法是这样的:

Paint paint=new Paint(); 
paint.setColor(Color.BLACK); 
@Override 
     protected void onDraw(Canvas canvas) { 
      super.onDraw(canvas);    
      Path p=new Path(); 
      //start from bottom left corner 
      p.moveTo(0,canvas.getHeight()); 
      //move to the offset 
      p.lineTo(canvas.getWidth(),YOUR_OFFSET); 
      //move to bottom right corner 
      p.lineTo(canvas.getWidth(),canvas.getHeight()); 
      //return to bottom left corner 
      p.lineTo(0,canvas.getHeight()); 
      //clsoe the path 
      p.close(); 
      canvas.drawPath(p,paint); 
     } 

,若您要使用一些颜色漆区域。

否则,您可以定义截取区域,并使用canvas.clipPath(Path path)方法

相关问题