Android-DesignEx
Android-DesignEx copied to clipboard
下方放置ViewPager+Fragment作为滚动布局
你好,如果下方的滚动布局换成ViewPager+Fragment这种,Fragment里放RecyclerView,RecyclerView的Adapter的ItemView里有图片的话,上滑时,会出现重影,闪一下,如果去掉自定义的bahavior,就没问题,请作者帮忙看下 谢谢~
能否把布局文件贴一下
这个是Activity里的布局文件
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" app:statusBarBackground="@android:color/transparent" android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBar"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
app:layout_behavior="android.support.design.widget.ParallaxScaleBehavior"
>
<!--app:layout_behavior="android.support.design.widget.ParallaxScaleBehavior"-->
<com.huapu.huafen.views.CollapsingCenterLayout
app:title="个人主页"
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:fitsSystemWindows="true"
android:layout_height="wrap_content"
app:collapsedTitleGravity="center"
app:contentScrim="@color/base_pink_light"
app:collapsedTitleTextAppearance="@style/collapsedTitleTextStyle"
app:expandedTitleTextAppearance="@style/expandedTitleTextStyle"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
>
<ImageView
android:src="@drawable/personal_bg"
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="350dp"
android:scaleType="centerCrop"
android:clickable="true"
app:layout_collapseMode="parallax"/>
<include
layout="@layout/home_page_header"
/>
<android.support.v7.widget.Toolbar
app:elevation="0dp"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="45dp"
app:layout_collapseMode="pin"
app:navigationIcon="@drawable/btn_title_back_select"
>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/btnTitleRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:src="@drawable/btn_title_right_personal" />
<ImageView
android:layout_toLeftOf="@id/btnTitleRight"
android:id="@+id/btnReport"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:src="@drawable/btn_title_report_personal"
android:visibility="visible" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
</com.huapu.huafen.views.CollapsingCenterLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/base_divider_height"
android:background="@color/base_tab_bar_divider" />
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
app:tabIndicatorColor="@color/base_pink"
app:tabIndicatorHeight="3dp"
app:tabSelectedTextColor="@color/base_pink"
app:tabTextColor="#999999" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
这个是ViewPager里的Fragment的布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
这个是Fragment里Adapter的item_layout
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" app:cardBackgroundColor="@color/white" app:cardElevation="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/ivPhoto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:background="@drawable/default_pic"
android:scaleType="centerCrop" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/base_tab_bar_divider"/>
<LinearLayout
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical"
android:paddingLeft="5dp"
android:paddingRight="5dp">
<com.huapu.huafen.views.DashLineView
android:id="@+id/dlvGoodsName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:singleLine="true"
android:textColor="@color/text_color"
app:dashLineStyle="normalBlack" />
<LinearLayout
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.huapu.huafen.views.CommonPriceView
android:id="@+id/cpvPrice"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<TextView
android:id="@+id/tvLikeCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/btn_item_like_select"
android:drawablePadding="3dp"
android:singleLine="true"
android:text="1111"
style="@style/normalTextPink"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
这个是Adapter的部分代码
@Override public HomePageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { HomePageViewHolder viewHolder = new HomePageViewHolder(LayoutInflater.from(fragment.getActivity()). inflate(R.layout.item_home_page, parent, false)); LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) viewHolder.ivPhoto.getLayoutParams(); lp.height = CommonUtils.getScreenWidth()/2; viewHolder.ivPhoto.setLayoutParams(lp); return viewHolder; }
@Override
public void onBindViewHolder(HomePageViewHolder holder, int position) {
final GoodsInfo item = data.get(position);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
if(item!=null){
if(!ArrayUtil.isEmpty(item.getGoodsImgs())){
String url = item.getGoodsImgs().get(0);
String tag = (String) holder.ivPhoto.getTag();
if(TextUtils.isEmpty(tag)||!tag.equals(url)){
holder.ivPhoto.setTag(url);
ImageLoaderRoundManager.getImageLoader().displayImage(url,
holder.ivPhoto, ImageLoaderRoundManager.getImageOptions());
}
}else{
holder.ivPhoto.setImageResource(R.drawable.default_pic);
}
holder.dlvGoodsName.setData(item.getGoodsBrand(),item.getGoodsName());
holder.cpvPrice.setData(item);
holder.tvLikeCount.setText(item.getWantCount()+"");
}
}
activity要透明状态栏,然后那个imageview设置android:fitsSystemWindows="true" 这样修改后应该就好了