实现像 Instagram 这样的故事回复 Android
Implement story reply like Instagram Android
在 Instagram 中,当用户点击 EditText 视图时,会发生下一个场景:
- 显示表情符号视图[我的情况不需要]
- 故事仍然保持其宽度和高度[未调整大小][必需]
- 键盘已打开[必需]
- 似乎视图具有透明背景
对于我的情况,当我使用 ADJUST_RESIZE
时,我可以正确显示视图,但是故事的 ImageView 必须具有 scaleType [fitXY 或 centerCrop] 有一些图像不好 UI,如果我没有使用这些 scaleTypes ImageView 将调整大小并在它旁边有边距。
当键盘打开时不使用 ScaleTypes[fixtXY, centerCrop]:
键盘关闭时:
解决方法是让ImageView的大小固定。
private fun makeViewFullWidth(view: View) {
val point = Point()
// point will be populated with screen width and height
activity?.windowManager?.defaultDisplay?.getSize(point)
val param = view.layoutParams
param.width = point.x
param.height = point.y
view.layoutParams = param
}
你也可以查看这个article
在 Instagram 中,当用户点击 EditText 视图时,会发生下一个场景:
- 显示表情符号视图[我的情况不需要]
- 故事仍然保持其宽度和高度[未调整大小][必需]
- 键盘已打开[必需]
- 似乎视图具有透明背景
对于我的情况,当我使用 ADJUST_RESIZE
时,我可以正确显示视图,但是故事的 ImageView 必须具有 scaleType [fitXY 或 centerCrop] 有一些图像不好 UI,如果我没有使用这些 scaleTypes ImageView 将调整大小并在它旁边有边距。
当键盘打开时不使用 ScaleTypes[fixtXY, centerCrop]:
键盘关闭时:
解决方法是让ImageView的大小固定。
private fun makeViewFullWidth(view: View) {
val point = Point()
// point will be populated with screen width and height
activity?.windowManager?.defaultDisplay?.getSize(point)
val param = view.layoutParams
param.width = point.x
param.height = point.y
view.layoutParams = param
}
你也可以查看这个article