Android线性罗盘视图:CompassView

jopen 10年前

该库提供了一个完全可定制的线性罗盘视图。
screenshot1.jpg

用法

You can declare a CompassView just like that:

<com.redinput.compassview.CompassView      android:id="@+id/compass"      android:layout_width="match_parent"      android:layout_height="wrap_content"      app:backgroundColor="#000000"      app:showMarker="true"      app:markerColor="#FF0000"      app:lineColor="#FFFFFF"      app:textColor="#FFFFFF"      app:textSize="15sp"      app:degrees="0"      app:rangeDegrees="180.0" />

Property values shown above are the defaults of the CompassView and it can be omitted for brevity.

Also, you can set all that properties with Java.

CompassView compass = (CompassView) findViewById(R.id.compass);    compass.setDegrees(57);  compass.setBackgroundColor(Color.YELLOW);  compass.setLineColor(Color.RED);  compass.setMarkerColor(Color.BLACK);  compass.setTextColor(Color.WHITE);  compass.setShowMarker(false);  compass.setTextSize(37);  compass.setRangeDegrees(270);

Another feature is that you can move the 'CompassView' dragging the view horizontally and even you can attach it a 'OnCompassDragListener' to observe the changes on the degrees value.

compass.setOnCompassDragListener(new CompassView.OnCompassDragListener() {      @Override      public void onCompassDragListener(float degrees) {          // Do what you want with the degrees      }  });

项目主页:http://www.open-open.com/lib/view/home/1414996982012