我试图找出如何根据特定任务的处理从下到上填充卡片的背景颜色。我想基于一些计时器或处理从底部到顶部的方法缓慢填充卡的背景颜色。如何实现这种情况。请帮帮我。
答案 0 :(得分:0)
您可以使用剪辑轻松实现此目的。这是来自Android Drawable Resources的修改后的代码。
首先在res / drawable / clip.xml保存的XML文件中指定剪辑视图
<?xml version="1.0" encoding="utf-8"?>
<clip xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/android"
android:clipOrientation="vertical"
android:gravity="bottom" />
它基本上意味着无论你分配给这个xml的drawable,它都将从底部开始垂直剪切。然后在你的cardview XML中将这个drawable设置为背景。
<CardView
android:id="@+id/cardview"
android:background="@drawable/clip"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
然后在你的活动中做这样的事情
CardView cardview = (CardView) findViewById(R.id.cardview);
ClipDrawable drawable = (ClipDrawable) cardview.getBackground();
drawable.setLevel(/*your level*/);
关于级别:
增加水平会减少削波量并缓慢显示 图像。默认级别为0,完全剪裁为图像 不可见。当级别为10,000时,图像不会被剪裁 完全可见。 希望这会有所帮助。