图像按钮崩溃了应用程序

时间:2017-12-25 20:11:16

标签: java android android-imagebutton

当我将 ImageButton 添加到我的应用程序(他们没有背景)时,应用程序崩溃了。 我有以下代码:

Func<int, bool>[] firstSet = new Func<int,bool> [] { ExpressionA(), ExpressionA(), ExpressionA() };
            Func<int, bool>[] secondSet = new Func<int, bool>[] { ExpressionA(), ExpressionA(), ExpressionA() };

            foreach(var firstSetExpression in firstSet)
                foreach (var secondSetExpression in secondSet)
                {
                    if (firstSetExpression.Invoke(20) && secondSetExpression.Invoke(20))
                    { 
                        // do your thing here 
                    }
                }
...
...
...

private static Func<int, bool> ExpressionA()
        {
             return (x) => x > 10;
        }

(整个xml位于 RelativeLayout )...没有@null,图像显示大于屏幕。并且按钮填满整个屏幕。 有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:0)

根据您的评论,错误是java.lang.OutOfMemoryError,我怀疑您尝试加载到后台的一个或多个图片占用了太多内存,因为它们太大。 最简单的解决方案是将调整图片大小缩小到更小的尺寸(这也会降低应用的尺寸)。您可以手动调整大小或使用在线提供的解决方案之一,例如: http://resizeimage.net/

答案 1 :(得分:0)

为了获得更好的结果,请移除wrap_content并缩放图片。您可以缩小源图片的大小。如果您删除wrap_content也删除了background="@null",这可能会对您有所帮助。请告诉我你想如何组织这些ImageViews。 您可以使用“合并”标记来创建复合视图,另请参阅此link