小编Ale*_*lov的帖子

文字颜色动画

有没有办法动画文本颜色变化(从任何颜色变为白色)?

我想出的唯一变体是将两个文本视图(具有相同的文本)放在一个地方,然后淡化顶部的一个,因此底部的一个(具有白色)将变得可见.

PS我废弃了2个TextViews的变体,因为它看起来很奇怪(边缘不平滑,因为我在屏幕上有很多这样的元素,它真的落后于滚动).我做了什么,是一个疯狂的黑客,使用Thread和setTextColor(也强制重绘textview)来动画.

由于我只需要2种颜色变化(从红色到白色,从绿色到白色),我硬编码了它们之间的值和所有过渡颜色.所以这是它的样子:

public class BlinkingTextView extends TextView {
public BlinkingTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public void animateBlink(final boolean red) {
    if (animator != null) {
        animator.drop();
    }
    animator = new Animator(this, red);
    animator.start();
}

public void clearBlinkAnimation() {
    if (animator != null) {
        animator.drop();
    }
}

private Animator animator;

private final static class Animator extends Thread {
    public Animator(final TextView textView, final boolean red) {
        this.textView = textView;
        if (red) {
            SET_TO_USE = RED;
        } …
Run Code Online (Sandbox Code Playgroud)

android

13
推荐指数
3
解决办法
2万
查看次数

TextView引力

有没有人试图用自己的一些TextView 编写自己的ViewGroup实现?

我有一个问题,这样的实现中的TextViews不尊重重力属性TextView.setGravity(Gravity.CENTER),文本位于左上角.

任何人都可以帮我找出原因吗?

编辑:

好.没关系,我已经把它弄清楚了.

如果enyone有兴趣,我只是改写方法onMeasure()(为我所有TextViews)和改变呼叫super.onMeasure()setMeasuredDimension(int, int)和重力开始正常工作.

基本上,在我的自定义布局中,我使用以下类来显示文本:

private static class GravityTextView extends TextView {  

    public GravityTextView(Context context) {  
        super(context);  
    }

    @Override  
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {  
        setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);  
    }

}
Run Code Online (Sandbox Code Playgroud)

android

12
推荐指数
1
解决办法
7758
查看次数

反转位图颜色

我有以下问题.我有一个图表程序,它的设计是黑色的,但图表(我从服务器获得的图像)很轻(它实际上只使用5种颜色:红色,绿色,白色,黑色和灰色).

为了适应设计倒置做得很好,唯一的问题是红色和绿色也是倒置的(绿色 - >粉红色,红色 - >绿色).

有没有办法可以反转除了那两种颜色之外的所有颜色,或者在反转后重新绘制这些颜色的方法?这些操作的成本是多少(因为我经常更新图表)?

提前致谢 :)

UPDATE

我尝试在循环中用setPixel方法替换颜色

for(int x = 0 ;x < chart.getWidth();x++) {
        for(int y = 0;y < chart.getHeight();y++) {
            final int replacement = getColorReplacement(chart.getPixel(x, y));
            if(replacement != 0) {
                chart.setPixel(x, y, replacement);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

不幸的是,这个方法花了太长时间(~650ms),是否有更快的方法,并且setPixels()方法工作得更快?

java android colors

6
推荐指数
1
解决办法
1万
查看次数

泛型不兼容的类型

偶然发现不兼容的类型错误原因我不明白.

为什么这段代码错了?

List<List<String>> a = new ArrayList<>();
List b = a; // is ok
List<List> c = a; // incompatible types
Run Code Online (Sandbox Code Playgroud)

java

5
推荐指数
1
解决办法
258
查看次数

活动拦截器

android中是否有任何方法可以拦截活动方法调用(只是标准的调用,比如"onStart.onCreate")?我有很多的功能,必须存在于我的应用程序的每一次活动,和(因为它使用不同类型的活动(列表,首选项))这样做是创建我的自定义扩展的每个活动类的唯一途径,这糟透了:(

PS我使用roboguice,但由于Dalvik不支持运行时的代码生成,我想它没有多大帮助.

PSS我考虑过使用AspectJ,但这太麻烦了,因为它需要很多复杂功能(ant的build.xml和所有垃圾)

android guice roboguice

4
推荐指数
1
解决办法
3120
查看次数

ListView项的原始坐标

我有以下问题.在我的布局上,我有一个操作栏(例如150dp高度),其余的是ListView.

我可以从操作栏中抓取一些视图并将其拖到listview上.拖动是通过windowsmanager实现的.所以在拖动时我会得到rawY坐标.现在,我想将rawY与ListView相对坐标相匹配,所以我会在上面知道ListView中我当前正在盘旋的项目.

有没有可能这样做?

android

4
推荐指数
1
解决办法
4861
查看次数

标签 统计

android ×5

java ×2

colors ×1

guice ×1

roboguice ×1