我需要创建动画,因为这会在动画时暂时反转TextView的颜色。我正在使用SlidingTabLayout和ViewPager,如下所示:
颜色仅供参考。
完整的代码在这里:
SlidingTabLayout:here SlidingTabStrip:here
[UPDATE]
我试过了:
int normalTextColor = Color.argb( 0, 0, 0, 0);
int pressedFilterColor = Color.argb(225, 238, 11, 83);
Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); //make a 1-pixel Bitmap
Canvas canvas = new Canvas(bitmap);
canvas.drawColor(normalTextColor); //color we want to apply filter to
canvas.drawColor(pressedFilterColor, PorterDuff.Mode.LIGHTEN); //apply filter
int pressedTextColor = bitmap.getPixel(0, 0);
textView.setTextColor(pressedTextColor);
但仍然没有工作。
答案 0 :(得分:1)
正如Raybaybay所说,在Android中说这不是一个简单的方法。您将不得不使用图层。如果您熟悉Photoshop或Gimp,那么您可以了解哪些图层,如果没有,请查看http://docs.gimp.org/en/gimp-image-combining.html#gimp-concepts-layers。这里的关键是知道如何组合图层。首先测试屏幕并乘以模式http://developer.android.com/reference/android/graphics/PorterDuff.Mode.html。 PorterDuff Modes上的Javadoc是没用的,但是这篇文章(直接转到" transfer"部分)应该可以帮助你http://www.xenomachina.com/2011/05/androids-2d-canvas-rendering-pipeline.html了解正在发生的事情。
现在,从您的代码中我发现您熟悉Android示例。您应该检查" APIDemos"上的Graphics / Xfermodes演示。样品。您可以直接从Eclipse安装它:new>其他> Android示例项目。该演示显示了哪些PorterDuff模式以及如何使用它们。我希望这会有所帮助。