1

그리기 직사각형하고 있으므로 회전 회전 고급 : 스케일링 그럼 경사 좌측 갖는 사다리꼴과 유사한 I 아래쪽 직사각형 그리기 확장하고자

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
<item > 
    <rotate 
     android:fromDegrees="-19.5" 
     android:toDegrees="-19.5" 
     android:pivotX="0%" 
     android:pivotY="0%" 
     > 
     <shape 
      android:shape="rectangle" >     
      <solid 
       android:color="@android:color/black" /> 
     </shape> 
    </rotate> 
</item> 
</layer-list> 

그러나 사각형이 나는 회전이 발생하기 전에 200 %로 수직 확장 할 뷰의 바닥에서 떨어져 회전 한 큰 격차를 방지합니다. 나는 다음과 같은 것을 할 수 있기를 바랬다 :

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
<item > 
    <scale 
     android:scaleWidth="100%" 
     android:scaleHeight="200%" 
     android:scaleGravity="top" 
     > 
     <rotate 
      android:fromDegrees="-19.5" 
      android:toDegrees="-19.5" 
      android:pivotX="0%" 
      android:pivotY="0%" 
      > 
      <shape 
       android:shape="rectangle" >     
       <solid 
        android:color="@android:color/black" /> 
      </shape> 
     </rotate> 
    </scale> 
</item> 
</layer-list> 

그러나 이것이 방금 사각형을 사라지게 만든다. 아무도 이것을 달성하는 가장 좋은 방법을 알고 있습니까?

+0

"scale"요소에는 크기를 조정할 "drawable"특성이 필요합니다. (그래서 아무 것도 표시되지 않습니다.) 참조 : http://idunnolol.com/android/drawables.html#scale –

+0

해결 했습니까? 동일한 문제가 있습니다. http://stackoverflow.com/questions/29094070/how-to -create-parallogram-background –

+0

XML 만 사용하여 해결하지 못했습니다. 아래 답변에서 솔루션을 사용하고 사용자 지정 드로어 블을 만들었습니다. – user3265561

답변

0

아니 정말 진정한 대답하지만 지금은 사용하고 난 솔루션은 모양을 그릴 수있는 커스텀 드로어 블을 만들 수 없습니다 :

public void setColor(int color) { 
    _color = color; 
} 

@Override 
public void draw(Canvas canvas) { 
    int width = this.getBounds().width(); 
    int height = this.getBounds().height(); 
    double angle = 19.5 * (Math.PI/180.0); 
    double offsetX = height * Math.tan(angle); 

    Path path = new Path(); 
    Paint paint = new Paint(); 
    path.moveTo(0, 0); 
    path.lineTo(width, 0); 
    path.lineTo(width, height); 
    path.lineTo((int)offsetX, height); 
    path.close(); 

    paint.setColor(_color); 
    paint.setStyle(Paint.Style.FILL); 
    canvas.drawPath(path, paint); 
} 

내가 찾을 수없는 실망하지만 이것은, 지금은 일을 XML에서이 작업을 수행하는 방법.