首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比较ImageViews上的绘图

比较ImageViews上的绘图
EN

Stack Overflow用户
提问于 2017-02-16 08:43:04
回答 2查看 119关注 0票数 0

我在试着创建一个独臂的强盗应用。我已经创建了一个动画xml文件来遍历多个图像。单击按钮时,动画将停止。

我的问题是如何将一个动画停止的图片与另一个动画的图片进行比较?到目前为止,我已经尝试了这样的东西:

代码语言:javascript
运行
复制
if(wheel1.getBackground().getConstantState().equals(wheel2.getBackground().getConstantState())) matches++;

任何帮助都是非常感谢的。

EN

Stack Overflow用户

发布于 2017-02-16 12:45:46

View不应该维护应用程序逻辑,而应该由控制器(托管ActivityFragment)维护。

也就是说,要实现您想要的功能,请使用View.setTag()将每个View的逻辑描述应用于它。然后当停止动画时,循环你所有的Views并获取它们在屏幕上的位置,让Views在你的bandit机器的每一列中最明显,并比较它们的标签(View.getTag())

例如,如果项目是垂直动画,请使用下面的方法来确定土匪停止的位置。

代码语言:javascript
运行
复制
//the area where to compare views
int BOUND_TOP, BOUNT_DOWN;

//your content view
ViewGroup rootLayout;

//method to get information about what is visible
public List<Object> getVisibleViewTags() {
    List<Object> list = new LinkedList<>();

    int count = rootLayout.getChildCount(); 
    for (int pos = 0; pos < count; pos++) {
        View child = rootLayout.getChildAt(pos);
        float translationY = child.getTranslationY();
        if (translationY > BOUND_TOP && translationY < BOUND_DOWN) {
            list.add(child.getTag());
        }
    }

    return list;
}

现在,您只需要将有关视图的信息作为标记附加到它。示例:

代码语言:javascript
运行
复制
view.setTag("view_apples");

代码语言:javascript
运行
复制
view.setTag("view_bananas");
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42262811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档