如何将标题文本设置为整数?现在它显示十进制,我是一个初学者

时间:2016-01-23 22:40:57

标签: java android

我的问题只是十进制数格式。我是初学者,我不知道如何解决问题。我想我应该使用十进制格式,但我不知道如何使用它。

这是我的java代码:

   package apps.r.compass;

   import android.app.Activity;
   import android.content.pm.ActivityInfo;
   import android.hardware.Sensor;
   import android.hardware.SensorEvent;
   import android.hardware.SensorEventListener;
   import android.hardware.SensorManager;
   import android.os.Bundle;
   import android.view.animation.Animation;
   import android.view.animation.RotateAnimation;
   import android.widget.ImageView;
   import android.widget.TextView;

   public class MainActivity extends Activity implements SensorEventListener {

// define the display assembly compass picture
private ImageView image;

// record the compass picture angle turned
private float currentDegree = 0f;

// device sensor manager
private SensorManager mSensorManager;
TextView tvHeading;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    //
    image = (ImageView) findViewById(R.id.imageViewCompass);

    // TextView that will tell the user what degree is he heading
    tvHeading = (TextView) findViewById(R.id.tvHeading);

    // initialize your android device sensor capabilities
    mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
}

@Override
protected void onResume() {
    super.onResume();

    // for the system's orientation sensor registered listeners
    mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
            SensorManager.SENSOR_DELAY_GAME);
}

@Override
protected void onPause() {
    super.onPause();

    // to stop the listener and save battery
    mSensorManager.unregisterListener(this);
}

@Override
public void onSensorChanged(SensorEvent event) {

    // get the angle around the z-axis rotated
    float degree = event.values[0];
    tvHeading.setText(Float.toString(degree) + "°");

    // create a rotation animation (reverse turn degree degrees)
    RotateAnimation ra = new RotateAnimation(
            currentDegree, -degree,
            Animation.RELATIVE_TO_SELF, 0.5f,
            Animation.RELATIVE_TO_SELF, 0.5f);

    // how long the animation will take place
    ra.setDuration(210);

    // set the animation after the end of the reservation status
    ra.setFillAfter(true);

    // Start the animation
    image.startAnimation(ra);
    currentDegree = -degree;
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
    // not in use
}

}

1 个答案:

答案 0 :(得分:0)

假设这是你所指的问题:

// get the angle around the z-axis rotated
float degree = event.values[0];
tvHeading.setText(Float.toString(degree) + "°");

Round结果为最接近的整数:

// get the angle around the z-axis rotated
float degree = event.values[0];
tvHeading.setText(Math.round(degree) + "°");