Изменить цвет градиента, например ScreenSaver?

Привет друзья, я хочу изменить цвет градиента, как показано ниже. M пытается из-за многих дней, но не повезло. можешь мне помочь? Заранее спасибо!

Введите описание изображения здесь

Я могу рисовать цвет с градиентом LinearLayout, но я хочу изменить этот цвет во время выполнения.

    Это может быть достигнуто путем кадровой анимации. В вашей деятельности напишите ниже код:

    @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.your_activity_layout); ImageView animation animation = (ImageView)findViewById(R.id.imageAnimation); animation.setBackgroundResource(R.drawable.anim_fbyf); } @Override public void onWindowFocusChanged (boolean hasFocus) { super.onWindowFocusChanged(hasFocus); AnimationDrawable frameAnimation = (AnimationDrawable) animation.getBackground(); if(hasFocus) frameAnimation.start(); else frameAnimation.stop(); } 

    Сделайте 1 xml в папке с расширением, названной как anim_fbyf.xml

      <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/frame0" android:duration="350" /> <item android:drawable="@drawable/frame1" android:duration="350" /> <item android:drawable="@drawable/frame2" android:duration="350" /> <item android:drawable="@drawable/frame3" android:duration="350" /> <item android:drawable="@drawable/frame4" android:duration="350" /> <item android:drawable="@drawable/frame5" android:duration="350" /> <item android:drawable="@drawable/frame6" android:duration="350" /> <item android:drawable="@drawable/frame7" android:duration="350" /> <item android:drawable="@drawable/frame8" android:duration="350" /> <item android:drawable="@drawable/frame9" android:duration="350" /> <item android:drawable="@drawable/frame10" android:duration="350" /> <item android:drawable="@drawable/frame11" android:duration="350" /> <item android:drawable="@drawable/frame12" android:duration="350" /> <item android:drawable="@drawable/frame13" android:duration="350" /> </animation-list> 

    Вы можете установить продолжительность и добавить количество кадров в соответствии с вашими потребностями.

    Я добавил 13 кадров (или gif-изображений) и установил продолжительность до 350 миллисекунд.

    вывод:

    Ниже – изображение, имеющее 13 кадров

    закат солнца

    Вы можете попробовать следующее:

     int h = v.getHeight(); ShapeDrawable mDrawable = new ShapeDrawable(new RectShape()); mDrawable.getPaint().setShader(new LinearGradient(0, 0, 0, h, Color.parseColor("#330000FF"), Color.parseColor("#110000FF"), Shader.TileMode.REPEAT)); v.setBackgroundDrawable(mDrawable); 

    В функции перегрузки getView () (ListAdapter)