2

嗨,我在控制我的对象在屏幕上的位置时遇到问题。当我创建活动时,屏幕上的每个对象都从这里开始放置动画和麻烦。首先,我尝试使用基于屏幕高度和宽度的像素坐标来放置所有东西。我想在活动开始时从设备中取出它。在编码过程中,我认为更好的方法是使用 % 值,因为我不需要考虑不同的屏幕分辨率和类似的东西。

图片显示,我认为屏幕看起来具有不同的值,但我错了。我假设布局与父级匹配,因此它的大小与屏幕几乎相同

因为 % 和 %p 的值的范围是从 -100 到 100,所以 -100% 在哪里,当我输入 -60%p 之类的东西时,我在屏幕上看不到它。我尝试通过更改值来玩对象并查看结果,但例如对象由

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:fillEnabled="true"
android:duration="3000"
android:startOffset="7000">
<translate 
    android:fromXDelta="2600"
    android:toXDelta="0%p"
    android:fromYDelta="-10"
    android:toYDelta="-10%p"
    />
<rotate 
    android:fromDegrees="359"
    android:toDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    />

在屏幕上高于由以下表示的对象:

<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:fillEnabled="true"
android:duration="3000"
android:startOffset="12000">
<rotate 
    android:fromDegrees="359"
    android:toDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    />
<translate 
    android:fromXDelta="-599"
    android:toXDelta="40%p"
    android:fromYDelta="-499"
    android:toYDelta="-10%p"
    />

我认为它们应该在同一垂直水平上,因为android:toYDelta是相同的。

当我们将值放到 xml 代码中时,我认为我们是在放置对象的右上角。

请清除我对不同类型坐标的思考方式,错误在哪里?

我将不胜感激每一个答案。

4

0 回答 0