我在一个基本XML中有两个AbsoluteLayout
被称为Background_layout
和Foreground_layout
。
我想通过加速计传感器向Y X Z方向移动第一个布局(Background_layout
),我该怎么做?
在这里你可以看到我的XML:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/background_layout"
android:background="@drawable/background"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<AbsoluteLayout
android:id="@+id/foreground_layout"
android:layout_height="wrap_content"
android:background="@drawable/foreground"
android:layout_width="wrap_content"
android:layout_x="0dip"
android:layout_y="0dip">
</AbsoluteLayout>
</AbsoluteLayout>
我拥有关于方向的所有值,但我不知道如何在布局视图中使用它们。
public void onSensorChanged(int sensor, float[] values) {
synchronized (this) {
if (sensor == SensorManager.SENSOR_ACCELEROMETER) {
float ValuX = (float) values[0];
float ValuY = (float) values[1];
float ValuZ = (float) values[2];
int ResValuX = new Integer(Float.toString(ValuX));
int ResValuY = new Integer(Float.toString(ValuY));
int ResValuZ = new Integer(Float.toString(ValuZ));
Background.addView(Background,ResValuX);
Background.addView(Background,ResValuY);
Background.addView(Background,ResValuZ);
}
}
}
任何建议都将不胜感激。
答案 0 :(得分:2)
如果从加速度计获取值,则可以通过设置其布局参数来更新视图的位置。要将视图移动到左侧,可以将值设置为左边距。
LinearLayout.LayoutParams lp = LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT
,LayoutParams.WRAP_CONTENT);
lp.leftMargin = 10;
view.setLayoutParameters(lp);
这应该有用。