Android项目开发中遇到的问题记录
2017-11-19 本文已影响0人
Swart
- Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题。
- 问题描述:在Android 6.0上如果recyclerview被scrollerview包裹且设置高度为wrap_content,在recyclerviewitem足够多的情况下会只显示一部分item。
- 解决方案:最终 stackoverflow 找到了解决办法:
http://stackoverflow.com/questions/27083091/recyclerview-inside-scrollview-is-not-working - 解决办法:在 recyclerview 外面再包一层 RelativeLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants">
<!-- DEV NOTE: Outer wrapper relative layout is added intentionally to address issue
that only happens on Marshmallow & Nougat devices (API 23 & 24).
On marshmallow API 23, the "RecyclerView" `layout_height="wrap_content"` does NOT
occupy the height of all the elements added to it via adapter. The result is cut out
items that is outside of device viewport when it loads initially.
Wrapping "RecyclerView" with "RelativeLayout" fixes the issue on Marshmallow devices.
-->
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:listitem="@layout/row_list_item">
</android.support.v7.widget.RecyclerView>
</RelativeLayout>
- 当使用的图片控件为CircleImagview的时候,Glide设置placeholder会出现第一次加载图片失败,当你再次刷新的时候,才能展现出图片
Glide.with(this).load(imgurl)
.placeholder(R.drawable.default_photo)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new SimpleTarget<GlideDrawable>() {
@Override
public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {
mCivUserPhoto.setImageDrawable(resource);
}
});