正如标题所说,我想了解该方法到底在做什么.
我已经仔细检查了android的坐标系是这样的:
coordinate system
二级 – 请花一点时间检查我的androID studio屏幕,方法快速doc.为什么我的观点(点击后)的价值是106?
android screen
解决方法:
坐标系是正确的.
getY()将返回VIEw Y转换顶部的值.所以,如果getY()返回106并且您将平移y设置为10,则视图的顶部应为96.尝试调用gettop()并检查该值是什么
平移是应用于视图位置的偏移量.如果布局将VIEw放在x; y并调用setTranslationY(10),则视图将显示在x; y 10.这是一种在布局后控制VIEw的位置的方法
奖金提示,而不是记录所有内容,使用调试器
如果你仍然怀疑位置和翻译之间的区别,你可以尝试这个,创建一个空活动并设置这个布局
<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" tools:context="com.example.lelloman.dummy.MainActivity"> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="asd asd" androID:layout_above="@+ID/button" androID:layout_centerHorizontal="true"/> <button androID:ID="@+ID/button" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_centerInParent="true" androID:text="asd"/></relativeLayout>
然后,您将看到TextVIEw位于button的正上方,因为这是relativeLayout在给定这些布局参数的情况下定位VIEws的方式.现在,试着打电话
findVIEwByID(R.ID.button).setTranslationY(100);
您会注意到该按钮将向下移动100px,但TextVIEw仍将处于旧位置,因为在布局后应用了平移.它是特定于该视图的内容,不会将视图定位在其父视图中
你也可以在xml中设置翻译
<button androID:translationY="100px" ...
总结 以上是内存溢出为你收集整理的android – 理解View.setTranslationY()[/ X()]全部内容,希望文章能够帮你解决android – 理解View.setTranslationY()[/ X()]所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)