以下の効果を得るための依頼を受けました。
ビューセットアンドロイドでビューページャーを使用して直接考えるのは初めて要求を受信した後:clipChildren = "false "は、ビューの表示範囲を制限していない、書き込み後に左の距離と最後のイメージと右の距離の最初のイメージは、次の空白領域に表示されます制御する方法がないことがわかりました。
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), RecyclerView.HORIZONTAL, false));
RecyclerViewpagerAdapter recyclerViewpagerAdapter = new RecyclerViewpagerAdapter(getActivity(), R.layout.item_image);
recyclerView.setAdapter(recyclerViewpagerAdapter);
recyclerViewpagerAdapter.setNewData(list);
その後、上記の
PagerSnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(recyclerView);
これでviewpagerを模倣することができました。 これで2枚の写真が左右の余白なしで隣り合うようになったので、アダプタで写真の幅と写真間の余白を設定し始めます。レイアウトで直接ピクチャのマージンを設定すると、最初のピクチャの左マージンと最後のピクチャの右マージンが真ん中のピクチャのマージンと矛盾してしまうので、最初のピクチャから左マージンまでの距離をコントロールする必要があります。
@Override
protected void convert(BaseViewHolder helper, final HuoDongBean item) {
ImageView imageView = helper.getView(R.id.imageView);
if (helper.getAdapterPosition() == 0){//最初のイメージ
// パッケージの内容を設定したり、親フォームのサイズを埋める
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(
ScreenUtils.getScreenWidth()-200, LinearLayout.LayoutParams.MATCH_PARENT);
//マージンの値を設定する
lp1.setMargins(30, 0, 30, 0);
imageView.setLayoutParams(lp1);
}else{
// パッケージの内容を設定したり、親フォームのサイズを埋める
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(
ScreenUtils.getScreenWidth()-200, LinearLayout.LayoutParams.MATCH_PARENT);
//マージンの値を設定する
lp1.setMargins(0, 0, 30, 0);
imageView.setLayoutParams(lp1);
}
Glide.with(context).load(item.src).into(imageView);
}
判定の最初のイメージの左の距離30右の距離15、イメージの残りの部分の左の距離0右の距離30の一貫性のあるマージンの効果を達成するために、コントロールの幅の動的な設定は、私は直接画面の幅マイナス200に怠けている 推奨されません!
終わり
効果を見る