2013-04-08 2 views
1

나는 그라디언트를 가지고 노는 것을 시작했고, 1 방향 그라데이션 (위에서 아래로, 왼쪽에서 오른쪽 또는 대각선으로 그리기 ...)을 그리는 것이 꽤 쉽지만 2 방향 그라데이션을 그리는 방법을 찾았습니까? - 오른쪽 상단에 파란색과 흰색과가 검은 색으로 변환있어 아래로 왼쪽의 변형에있다Android - 2 방향 그라디언트를 그리는 방법?

enter image description here

큰 파란색 사각형은 두 방향의 기울기이다 :이 같은 것을 의미한다. 이걸 그리는 방법?

<gradient 
    android:centerColor="@color/my_white" 
    android:startColor="@color/my_darker_gray" 
    android:endColor="@color/my_darker_gray" 
    android:angle="45"/> 

당신이 gradientstart/end/center 위치에 원하는 색상을 지정하고 컬러 전환의 각도를 지정합니다 : 당신이 당신의 gradient 색상을 만들 때

답변

2

대답은 : 당신은 예를 들어, 2 개의 다른 LinearGradients을 결합해야합니다

LinearGradient val = new LinearGradient(0, 0, 0, height, Color.WHITE, Color.BLACK, TileMode.CLAMP); 
       LinearGradient sat = new LinearGradient(0, 0, width, 0, Color.WHITE, Color.HSVToColor(hsvCopy), TileMode.CLAMP); 
       ComposeShader merged = new ComposeShader(val, sat, PorterDuff.Mode.MULTIPLY) 

;

그리고 중요한 과정의

:

[view with this background].setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

폰에 안드로이드 3.0 이상

1

은 당신이 뭔가를 할 수 있습니다.

+1

와는 다른 뭔가. 45도 각도로 그라디언트가 필요하지 않습니다. 어떻게하는지 알고 있습니다. 내가 말했던 것을 필요로합니다 : 2 방향 그라디언트, 즉 오른쪽 상단이 파란색이고 왼쪽이 흰색으로 변환 될 것이고 아래쪽이 검은 색으로 변환 될 것임을 의미합니다. – qkx

+0

잘 수행했습니다. 이런 종류의 그라디언트 색상에 대한 경험이 없었습니다. 하지만이 프로젝트 소스 코드를보고 어떻게했는지 볼 수 있습니다 : https://code.google.com/p/color-picker-view/source/browse/trunk/src/afzkl/development/mColorPicker/views /ColorPickerView.java –

관련 문제