- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个以图形方式显示一些数据的应用程序。它创建了两个 View 来绘制图形并将它们添加到我的布局中。每个 View 以不同的方式显示数据,但每个 View 都以相同的方式实现 onSizeChanged():
protected void onSizeChanged(int curw, int curh, int oldw, int oldh) {
if (bitmap2 != null) {
bitmap2.recycle();
}
canvas2= new Canvas();
bitmap2 = Bitmap.createBitmap(curw, curh, Bitmap.Config.ARGB_8888);
canvas2.setBitmap(bitmap2);
}
这样调用 View :
LinearLayout myLayout = (LinearLayout)findViewById(R.id.revlay);
GraphView1 graphView1 = new GraphView1(this, theEventArrayList);
myLayout.addView(graphView1);
GraphView2 graphView2 = new GraphView2(this, theEventArrayList);
myLayout.addView(graphView2);
总是被调用的第一个 onSizeChanged() 的高度为 652,宽度为 480; 第二个 的高度为 0,这导致 createBitmap() 失败。如果我颠倒上述调用的顺序,那么 graphView1 将以这种方式失败。我希望每个位图有大约一半的面积。
预先感谢您解释发生了什么!
最佳答案
如果不了解有关图形 View 和 LinearLayout 布局参数的更多实现细节,很难回答您的问题。但假设您的 LinearLayout 具有水平方向,请尝试以下操作:
GraphView1 graphView1 = new GraphView1(this, theEventArrayList);
GraphView2 graphView2 = new GraphView2(this, theEventArrayList);
myLayout.addView(graphView2, new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0, 1));
myLayout.addView(graphView1, new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0, 1));
这将告诉 LinearLayout 安排您的 View ,以便它们平均划分它们之间的水平空间。
关于android - 第二个 onSizeChanged 的高度为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4875885/
当软键盘出现在屏幕上时,我想使用 onSizeChange 来检测 LinearLayout 中的高度差。我想发布 fullScroll(View.FOCUS_DOWN);在那时候。一个例子将不胜感激
当用户触摸屏幕的某个部分时,是否会调用 onSizeChanged()? 我对 onDraw()、onMeasure() 和 onSizeChanged() 的调用顺序感到困惑。 最佳答案 Andro
这两个事件有什么区别?我想不出任何情况下两者都不会同时被调用,而且 MSDN 也没有启发性。 最佳答案 Answer from Bob Powell [MVP] found on internet (
我有一个以图形方式显示一些数据的应用程序。它创建了两个 View 来绘制图形并将它们添加到我的布局中。每个 View 以不同的方式显示数据,但每个 View 都以相同的方式实现 onSizeChang
我需要获取 View 的高度和宽度,并且我已经按照此处给出的示例对 View 进行子类化并使用 onSizeChanged(...)。但非常奇怪的是 onSizeChanged 给我正确的宽度,但高度
我无法正确调整元素(例如 ListView)的大小。 我有一个用于搜索的 ListActivity,带有仪表板、编辑框和 ListView 。这个想法是在键盘显示时隐藏操作栏。 我扩展了 Linear
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我创建了一个扩展 Drawable 的自定义类。我正在尝试使用 onSizeChanged() 获取 Drawable 的尺寸,如下所示 public class Circle extends Dra
我有一个 ListView ,它动态分配了不同的数据集。这很好用。我还使 fastScrollEnabled 为真。为了更新 sectionIndexer,我需要调用 list.setFastScro
我注意到在处理来自 Activity 的配置更改时,onLayout 和 onSizeChanged 在方向更改后立即连续调用 两次,从横向->纵向或从纵向->横向.此外,第一个 onLayout/o
我有一个在水平滚动窗口中按列显示文本和图像的 View 。它重排,因此(至少可能)随着内容的变化而调整自己的大小;当软键盘来来去去以及 View 高度发生变化时,它也会重新排列和调整大小(保持大致恒定
我的应用程序当前调用 onCreate() 方法中的一个方法,以便在创建 View 后游戏将启动并运行动画。但是,当我翻转屏幕以在纵向和横向之间切换时,会再次调用此方法。 我已将调用行移至 onSta
我有一个自定义 View ,里面只有一个圆圈。我对它的尺寸有疑问。 我覆盖了 onSizeChanged() 和 onMeasure(),但我担心 onMeasure() 遗漏了一些东西。这个 Vie
我正在编写一个自定义组件,一个强制内部 View 大小的 ViewGroup: myView.getLayoutParams().width = (int) itemSize; myView.getL
我是一名优秀的程序员,十分优秀!