第一次碰到这个问题,真的是奇葩了,正常的一个recycleview线性布局,item是一个LinearLayout嵌套一个textview,如果高度都是wrap_content的话,那上五条数据正常,后五条数据textview的高度高出很多,把高度计算出来写死以后又碰到textview高度正常,但是文字不居中,关键是前五条数据正常居中,后五条不居中,设置gravity为center跟假的一样,但是横向确实是居中了。
几番尝试之后,发现一个方案可以居中,那就是把外层的LinearLayout高度写死,内部的textview高度wrap_content,然后设置paddingTop和paddingBottom,这样确实可以居中了,但是每个textview的高度却有小小的差异。如果没有太高精准要求这样用也行,但是我这边在textview下面还有一个view,会有少量遮挡,所以只能是把textview的高度写死,但是这样的话如果文字设置的过大或太小都会有兼容问题,如果不设置文字大小倒是可以正常兼容。如果想要固定大小的文字,只能是不断地调整padding和高度,调整一个比较兼容的大小。
以上是这个问题的临时解决方案,具体为什么会出现这个问题百思不得其解,只能是归为recycleview在设置文字的时候对它动了手脚。希望有了解的朋友能解惑。