怎样获得一个组件相对于父容器的坐标 android
2个回答
展开全部
可以在相对布局里面,再写一个Linelayout布局,给两个控件一样的权重,也就是android:gravity=1,或者任意数值,只要是一样的数值。
一般这样的布局问题,都可以通过权重来达到平分的效果,如果受制于手机的虚拟键问题,还可以通过设置scrollview来解决。
一般这样的布局问题,都可以通过权重来达到平分的效果,如果受制于手机的虚拟键问题,还可以通过设置scrollview来解决。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用缘饶澄的回答:
可以在相对布局里面,再写一个Linelayout布局,给两个控件一样的权重,也就是android:gravity=1,或者任意数值,只要是一样的数值。
一般这样的布局问题,都可以通过权重来达到平分的效果,如果受制于手机的虚拟键问题,还可以通过设置scrollview来解决。
可以在相对布局里面,再写一个Linelayout布局,给两个控件一样的权重,也就是android:gravity=1,或者任意数值,只要是一样的数值。
一般这样的布局问题,都可以通过权重来达到平分的效果,如果受制于手机的虚拟键问题,还可以通过设置scrollview来解决。
展开全部
如果要获取子组件在父组件里的相对位置,对于View的继承类来说,自带的有getTop()和getLeft()等方法;
实例:
private void setTopTranslateComeAnimator(View view,int duration){
float height=(float)view.getTop();
ObjectAnimator comeAlphaAnimator = ObjectAnimator.ofFloat(view,"alpha",0f,1f);
ObjectAnimator comeInYTranslate = ObjectAnimator.ofFloat(view,"y",-500f,height);
AnimatorSet animSet = new AnimatorSet();
animSet.play(comeAlphaAnimator).with(comeInYTranslate);
animSet.setDuration(duration);
animSet.start();
}
那么view享有的动画出现的位置就在原来的位置上了;
实例:
private void setTopTranslateComeAnimator(View view,int duration){
float height=(float)view.getTop();
ObjectAnimator comeAlphaAnimator = ObjectAnimator.ofFloat(view,"alpha",0f,1f);
ObjectAnimator comeInYTranslate = ObjectAnimator.ofFloat(view,"y",-500f,height);
AnimatorSet animSet = new AnimatorSet();
animSet.play(comeAlphaAnimator).with(comeInYTranslate);
animSet.setDuration(duration);
animSet.start();
}
那么view享有的动画出现的位置就在原来的位置上了;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询