2017-03-01 18 views
4

私は多色の背景をXMLで作成しようとしていますが、始点、中心、終点、および指定された角度の3つのオプションしか利用できません。我々はmulti color at different angle 我々はアンドロイドの背景のためのXMLでマルチカラーグラデーションを作ることができますか?

multi color at different angle

我々はアンドロイドではこのような背景のように作ることができます。..以下このような背景を作ることができません?

+0

が見http://stackoverflow.com/questions/14020530/using-a-gradientdrawable-with-more-than-three-colors-setとhttp://stackoverflow.com/questions/4381033/multi -gradient-shapes –

+0

あなたは私にどのように教えてくれますか? –

+0

これは私が信じている唯一の2色です。これらの勾配を作ることができる。 – CoderP

答えて

7
developers.android することができます...による

、これは、彼らはまた、here's

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<gradient 
    android:angle="45" 
    android:endColor="#87CEEB" 
    android:centerColor="#768087" 
    android:startColor="#000" 
    android:type="linear" /> 

</shape> 

これは

+1

私は複数の色を必要としますが、とにかく私は助けてくれてありがとう。 –

+6

Tapan Kumar Patroは、あなたが達成したことを分かち合ってください –

0

あなたはレイヤーリストでそれを行うことができますことができますチュートリアル

希望を使用するコードです放射状の勾配の場合、異なるアイテムに対して異なる不透明度を設定する

3

+3勾配XMLファイル内の色。しかし、GradientDrawableクラスを使ってjava/kotlinコードに記述することができます。これはJava版で、色の配列を色のidsに置き換えます。

GradientDrawable gradientDrawable = new GradientDrawable(
       Orientation.TOP_BOTTOM, 
       new int[]{ContextCompat.getColor(this, R.color.color1), 
         ContextCompat.getColor(this, R.color.color2), 
         ContextCompat.getColor(this, R.color.color3), 
         ContextCompat.getColor(this, R.color.color4)}); 

     findViewById(R.id.background).setBackground(gradientDrawable); 
関連する問題