问题标签 [android-viewtreeobserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 设置相对于文本高度的 ImageView 宽度和高度
我有一个列表视图。每行是一个图像和文本。我想缩放图像,使其适合行高,即
- 图像不应导致行高更大
- 图像高度应与行高相同
- 应计算图像宽度,以保持原始宽度高度比
我想出的所有解决方案似乎都太复杂了,我认为这是一个相对常见的要求,所以我想检查一下我是否遗漏了什么——你知道如何以更简单的方式实现这一点吗?
以下是我考虑的解决方案。
解决方案1:
ListView 项目的嵌套视图并设置 android:layout_height="match_parent"。图像已正确调整大小,但 ImageView 占用宽度,就好像它没有调整大小一样。(见下图,我加了黑色背景,看看ImageView占用了多少空间。)
解决方案 2: 使用
ViewTreeObserver 观察者 = MyTextView.getViewTreeObserver() observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
}
这似乎太复杂了。
解决方案3:
使用,例如,Paint.FontMetrics 来计算高度,但我还需要找出使用的字体(例如,系统一......) ListView 可能有一些填充等,所以有很多东西要检索。
请问还有其他更简单的解决方案吗?
编辑 - 澄清
图像具有最大值。大小,如果达到,将停止 ImageView 大小的任何进一步增加。
android - 如何知道视图绘图还没有?
固定 : 2018-02-09 , 13:00 (GMT+9)
我把词
isDrawing
改成!isDrawn
我想使用get width, height afterview drawn
但我也想isDrawn
知道
下面的代码可以获得view drawn
状态
实际上我想要像下面这样的机制。
java - 服务中的 ViewTreeObserver.OnWindowFocusChangeListener
如何在 Android 的服务中实现 ViewTreeObserver.OnWindowFocusChangeListener 。当我在我的 java 文件中使用该代码时,它不会显示任何类型的错误。还有其他方法可以在服务中使用 OnWindowFocusChangeListener 吗?请帮我。提前致谢 !!
android - android view getWidth() 即使在 onPreDraw() 中也返回 0
根据 SOF 中的答案,像这样
onPreDraw
与上述问题链接中的问题开启者不同,我已经尝试过足够晚的时间来衡量观点( )。
我有这个代码:
}
尽管如此,measuredWidth
并且width
始终为 0
如何获取视图的宽度(以像素为单位)?
android - textView 动态更改为更短的文本而不是 ellipsize
我有这个代码:
当需要 ellipsize 时,代码应动态更改 textView 中的文本。
但是,当我运行应用程序时,有时我会看到视图(剪辑)的宽度==
是长文本宽度,并且 UI 中仍然存在椭圆。
我看到当 textView 是not visible
并且切换到时会发生这种情况visible
。
我应该以不同的方式计算 vlip(视图)宽度吗?
之前测量 textView 的任何特殊方法变成了visible
?
android - onGlobalLayout() 在没有明显布局更改的情况下调用
我有一个运行良好的软键盘监听器(一项活动除外)。这里是。
对于所有活动,侦听器等待屏幕更改,然后调用 onGlobalLayout()。但是一项活动 onGlobalLayout() 会立即被调用(无需更改屏幕)。此活动相当独特,因为它暗示了以下内容
PlacesActivity
具有AutoCompleteTextView
用户在 Google Places API 的帮助下选择全球城市的位置。这些回调是否与我的onGlobalLayoutListener
?
onGLobalLayout()
在没有明显布局更改的情况下可以调用任何其他情况?
是否AutoCompleteTextView
触发onGlobalLayout()
?
android - getLineCount 返回方向后的字符数而不是行数
我正在尝试制作一个可扩展的文本视图,它工作正常,但问题是旋转后 textview.getLinesCount() 返回文本视图中的字符数而不是行数,因此它在旋转后无法正常工作!
这是我的代码:
我也试过这种方法getViewTreeObserver().addOnGlobalLayoutListener()
,但同样的事情发生了。
android - 线性布局绘制完成后创建 PDF
我正在尝试使用表格布局创建嵌套线性布局的 PDF。我的问题是我最初的尝试导致在没有完整视图的情况下绘制文件。
为了解决这个问题,我决定只在视图加载完成后写入文件,并尝试使用监听事件,ViewTreeObserver.globalOnLayoutListener
但它从未被唤起。所以我决定使用View.post()
它,它似乎也不起作用。我已经等了 4 分钟,认为可能需要一段时间才能绘制,因为布局文件很大,但是监听器和后来的可运行对象从未被调用过。我使用断点和 logcat 验证了事实。
我哪里错了?