2017-11-28 2 views
-1

는 I는 시나리오에 따라 동적으로 생성되는 뷰 그라데이션 색 효과를 확인해야하고 영상에 도시 된 바와 같이 또한보기 enter image description here동적으로 생성 된 뷰에서 동적 그래디언트 효과를 만드는 방법은 무엇입니까?

(대각선 또는 정사각형) 임의의 형태의 것, 그라데이션 효과는있을 수 모양. 또한 가능한 모든 케이스에 대한 사용자 정의보기를 만들고 Visibility으로 재생할 경우 모든 장치 화면 크기에 완벽하게 맞도록이보기를 어떻게 관리합니까? 시작하려면 작은 도움이 필요합니다. 미리 감사드립니다.

+0

을 만들 수 있습니다. 마킹은 쉽지만 솔루션을 제공하는 것은 쉽지 않습니다. – Devraj

답변

0

이 방법을 사용하여이 문제를 해결했습니다.

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(new CustomView(this)); 
} 

}

지금은이 있어야 부정적인 마커가 질문에 대답을 강요되는 제한을 CustomView 클래스

public class CustomView extends View { 
Rect rect; 

private Rect rectangle; 
private Paint paint; 

public CustomView(Context context) { 
    super(context); 
    int x = 50; 
    int y = 50; 
    int sideLength = 200; 
    int sideLength1 = 100; 
    rectangle = new Rect(x, y, sideLength, sideLength1); 
    paint = new Paint(); 
    paint.setColor(Color.GRAY); 
} 

@Override 
protected void onDraw(Canvas canvas) { 

    int width = this.getMeasuredWidth(); 
    int height = this.getMeasuredHeight(); 

    BitmapShader shader; 
    //shader = new BitmapShader(header, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); 

    //paint.setShader(shader); 

    Path path = new Path(); 

    path.moveTo(40,40); 
    path.lineTo(5,height/2); 
    path.lineTo(width/2,height/4); 
    path.lineTo(width/2,0); 

    canvas.drawPath(path,paint); 

} 
관련 문제