Изменить цвет градиента, например 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)

    Intereting Posts
    Как избежать вызова функции onCreate () при запуске Activity? Как сделать полную строку clickable в listview android Как изменить цвет рамки (не сфокусированный) в EditText? OutOfMemoryError Bitmap в Android Android O – Старое начало работы переднего плана все еще работает? Android: разрешить создание псевдонима активности, чья targetActivity находится в aar / sdk Как получить категорию App из магазина воспроизведения по имени своего пакета в Android? Тип org.apache.http.Header не может быть разрешен. Это косвенно ссылается на требуемые файлы .class Экспорт Eclipse Gradle проекта Android ничего не делает Android Toast, чтобы показывать предыдущую активность Почему ImageView.setImageURI () работает в Android 2.2, но не 2.1? SD-карта недоступна в режиме USB Debugging на DroidX Изображения не загружаются в android 5.0, используя библиотеку picasso Загрузка jpeg с использованием BitmapRegionDecoder дает искажение шахматной доски Невозможно сгенерировать выпуск APK из-за GCM SenderId Android