私はpageindexを実行しており、現在のページは矢印イメージ(imageview)で強調表示されます。relativelayoutで動的にビューを移動する
指数は25 textviewsとRelativeLayoutは、それに追加されます。
for (int i = 0; i < 25; i++) {
TextView tv = new TextView(this);
tv.setText(Integer.toString(i+1));
tv.setGravity(Gravity.CENTER);
int id = 2000+i;
tv.setId(id);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.FILL_PARENT);
if(i==0)
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
else
params.addRule(RelativeLayout.RIGHT_OF, prevViewId);
prevViewId = id;
rl.addView(tv,params);
}
そして、私はページの変更をこのような何か:すべてが正しいよう
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_BOTTOM, 2000+i);
params.addRule(RelativeLayout.ALIGN_RIGHT, 2000+i);
params.addRule(RelativeLayout.ALIGN_LEFT, 2000+i);
arrowImageView.setLayoutParams(params);
rl.requestLayout();
rl.invalidate();
、私は矢印を配置することができます「スタートアップ」の任意のページで、ページが変更されたときに矢印は移動しません。私は、コードが実行され、すべてが正しいように見えますが、まだ矢印が最初の位置に止まっていることをデバッグして確認しました。 LayoutParamsを更新する代わりに、強制的に削除して新しい画像ビューを追加すると、矢印が完全に消えます。