我使用设备的加速度计用靶心编码精神等级,现在我几乎没有问题:
1.我的Bullseye Imageview位于中心,如何设置ImageView的中心为加速度计的X:0 Y:0?
<ImageView
android:id="@+id/bullseye"
android:layout_width="250dp"
android:layout_height="250dp"
android:contentDescription="Bullseye"
android:scaleType="centerInside"
android:foregroundGravity="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/bullseye" />
ImageView b = (ImageView) findViewById(R.id.bullseye);
b.setImageResource(R.drawable.bullseye);
2.如何在Bullseye中间开始粘贴我的泡泡并制作角落,以便不允许气泡离开Bullseye半径?
<ImageView
android:id="@+id/bubble"
android:layout_width="fill_parent"
android:scaleType="centerInside"
android:foregroundGravity="center"
android:layout_height="31dp"
android:contentDescription="Bubble"
android:src="@drawable/ic_bubble"
app:layout_constraintEnd_toStartOf="@+id/yview"
app:layout_constraintStart_toStartOf="@+id/yview"
tools:layout_editor_absoluteY="16dp" />
//ImageView Bubble
mDrawable = (ImageView) findViewById(R.id.bubble);
ImageView v = (ImageView) findViewById(R.id.bubble);
v.setImageResource(R.drawable.ic_bubble);
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
//Zuweisen + Ausgabe
x -= (int) event.values[0];
y += (int) event.values[1];
xview.setText("X: " + x);
yview.setText("Y: " + y);
mDrawable.setY(y);
mDrawable.setX(x);
}
}
我希望气泡(灰点)停留在绿色区域,并且绿色区域的中间是加速度计的X:0 Y:0。