2017-11-28 28 views
-1

私はシナリオに応じて動的に生成されたビューの勾配色効果を確認する必要があり、イメージに示すように、ビューは、enter image description here動的に生成されたビューで動的勾配効果を作成するにはどうすればよいですか?

(対角線又は正方形)の任意の形状となり、勾配の効果は任意であってもよいです形状。 また、すべてのケースでカスタムビューを作成してVisibilityで再生すると、これらのビューをどのように管理して各デバイスの画面サイズに合わせることができますか? ちょっとした助けが必要です。 ありがとうございます。

+0

CustomViewクラスを作成し、負のマーカーが質問に答えることを余儀なくされた制限があるはずです。マーキングは簡単ですが、ソリューションを提供することはできません。 – Devraj

答えて

0

この方法を使用して問題を解決しました。今

public class MainActivity extends AppCompatActivity { 

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

}

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); 

} 
関連する問題