按适配器中的项目更改渐变背景颜色



我想创建这样的东西。我想在android kotlin应用程序中使用它
https://dribbble.com/shots/3830441-To-Do-App你知道如何像你在链接中看到的那样轻松地改变背景颜色吗?非常感谢。

创建一个像这样的可绘制文件:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#376F9D"
android:centerColor="#4E9EB4"
android:endColor="#4F9FB5"
android:angle="0"
android:type="linear"/>
</shape>

然后将其用作活动布局上的根元素的背景:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient">
<RelativeLayout
android:paddingTop="56dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<ImageView
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo"/>
</RelativeLayout>

您可能正在寻找这样的东西:

  • ViewPager用于UI
  • 为ViewPager设置onPageChangeListener((,以检测ViewPager何时更改了屏幕
  • 使用ViewPager.setBackgroundColor((api在更改过程中更改ViewPager背景
  • 使用ArgbEvaluator.eevaluate(positionOffSet,yourCurrentColorValue,yourNextColorValue(为您的上述ViewPager.setBackgroundColor((

获取平滑的动画颜色值。有关完整解决方案的更多参考,您可以在谷歌上搜索,也可以查找以下内容:http://kubaspatny.github.io/2014/09/18/viewpager-background-transition/

Kotlin可能也有类似的方法来解决这个问题。

相关内容

  • 没有找到相关文章

最新更新