2016-03-28 87 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)方法

相關問題