[Android]如何根据ImageView大小动态改变包裹它的FrameLayout大小.
<FrameLayout>包裹了一个ImageView和一个Button,效果是Button刚好压住ImageView的左上角一部分,想使得ImageVIew缩放时,Bu...
<FrameLayout>包裹了一个ImageView和一个Button,效果是Button刚好压住ImageView的左上角一部分,想使得ImageVIew缩放时,Button跟着IMageVIew动,这就使得外层的Framelayout要动态改变大小。可是在IMageVIew的onTouchEvent事件中用LayoutParams这种方法总报NullPointer的错误,请问该怎么做?谢谢啊!
展开
9个回答
推荐于2018-05-11 · 知道合伙人软件行家
关注
展开全部
Android动态改变View控件大小的方法:
1、声明控件参数获取对象 LayoutParams lp;
2、获取控件参数: lp = 控件id.getLayoutParams();
3、设置控件参数:如高度。 lp.height -= 10;
4:、使设置生效:控件id.setLayoutParams(lp);
例如如要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(), ImageView.getPaddingTop()+200, ImageView.getPaddingRight(), ImageView.getPaddingBottom());
1、声明控件参数获取对象 LayoutParams lp;
2、获取控件参数: lp = 控件id.getLayoutParams();
3、设置控件参数:如高度。 lp.height -= 10;
4:、使设置生效:控件id.setLayoutParams(lp);
例如如要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(), ImageView.getPaddingTop()+200, ImageView.getPaddingRight(), ImageView.getPaddingBottom());
展开全部
<FrameLayout> 设置成wrap_content 里包一个<Relatedlyout>也是wrap_content
在<Relatedlyout> 这里边再装你那两个空件 设置好他们相对位置就好了
在<Relatedlyout> 这里边再装你那两个空件 设置好他们相对位置就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<FrameLayout> 设置成wrap_content 里包一个<Relatedlyout>也是wrap_content
在<Relatedlyout> 这里边再装你那两个空件 设置好他们相对位置就好了
在<Relatedlyout> 这里边再装你那两个空件 设置好他们相对位置就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
获取FrameLayout
获取FrameLayout的LayoutParams
改变LayoutParams的大小
通过setLayoutParams设置LayoutParams
NullPointer,某个对象获取的不对,拿代码来看看吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你只要将布局FrameLayout的layout_width与layout_height设置为wrap_content就可以了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询