setMargins不起作用

问题描述
在用viewpage做广告滚动的效果,根据照片的数量,每个照片生成一个圆点用来表示,当前照片滚动的位置,但是用LayoutParams 对象设置圆点的高和宽都正常,用setMargins设置圆点的间距却无效,请高手解答
private void initUI(Context context) {

		LayoutInflater.from(context).inflate(R.layout.layout_slideshow, this,

				true);

		mLyTest= (ViewGroup) findViewById(R.id.ly_test);

		int num = 0;

		for (int imageID : this.getImagesResIds()) {

			ImageView view = new ImageView(context);

			view.setImageResource(imageID);

			view.setScaleType(ScaleType.FIT_XY);

			imageViewsList.add(view);

			LayoutParams lp = new LayoutParams(63, 63,1);  

			lp.setMargins(500, 50, 500, 50);  

			ImageView viewImage = new ImageView(mContext);

			viewImage.setId(imageID);

			viewImage.setLayoutParams(lp);

			viewImage.setPadding(50, 0, 50, 0);

			if (num==0) {

				viewImage.setBackgroundResource(R.drawable.dot_focused);

				num++;

			}else {

				viewImage.setBackgroundResource(R.drawable.dot_normal);

			}

			mLyTest.addView(viewImage);

		}

//

//		 dotViewsList.add(findViewById(R.id.v_dot1));

//		 dotViewsList.add(findViewById(R.id.v_dot2));



		viewPager = (ViewPager) findViewById(R.id.viewPager);

		viewPager.setFocusable(true);



		viewPager.setAdapter(new MyPagerAdapter());

		viewPager.setOnPageChangeListener(new MyPageChangeListener());

	}
解决方案1
要看mLyTest这个变量具体是什么布局类型了,比如说是线性布局,然后把lp变量的类型改成LinearLayout.LayoutParams应该就可以了,我前段时间也遇到过这个问题

转载于:https://www.cnblogs.com/yiguobei99/p/4027489.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值