siyamed/android-satellite-menu
siyamed/android-satellite-menu has 1,387 GitHub stars and 629 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-06 08:42 UTC. Last push 2015-07-13.
Android Satellite Menu
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original#Satellite Menu
'Path' has a very attractive menu sitting on the left bottom corner of the screen. Satellite Menu is the open version of this menu.
For the ones who didnt see path, the menu consists of a main button on the left bottom of the screen. When the user clicks on this button, a number of buttons are popped out of this button. I have resembled this structure to a planet and satellites and thats why I gave the name of this project.
The menu uses built-in animations of Android platform.
Works in API Level 7 (2.1) and above.
Licenced with LGPL.

##Usage
Add the component definition to your view xml as in the following example:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:sat="http://schemas.android.com/apk/res/android.view.ext"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<android.view.ext.SatelliteMenu
android:id="@+id/menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|left"
android:layout_margin="8dp"
sat:satelliteDistance="170dp"
sat:mainImage="@drawable/ic_launcher"
sat:totalSpacingDegree="90"
sat:closeOnClick="true"
sat:expandDuration="500"/>
</FrameLayout>
The attributes are:
satelliteDistanceThe distance of items from the center buttontotalSpacingDegreeThe degree between the first and the last item.closeOnClickDefines if the menu shall collapse after clicking on a menu item.expandDurationThe duration of expand and collapse operations in milliseconds.
After defining the view in XML, some menu items can be added from code:
SatelliteMenu menu = (SatelliteMenu) findViewById(R.id.menu);
List<SatelliteMenuItem> items = new ArrayList<SatelliteMenuItem>();
items.add(new SatelliteMenuItem(4, R.drawable.ic_1));
items.add(new SatelliteMenuItem(4, R.drawable.ic_3));
items.add(new SatelliteMenuItem(4, R.drawable.ic_4));
items.add(new SatelliteMenuItem(3, R.drawable.ic_5));
items.add(new SatelliteMenuItem(2, R.drawable.ic_6));
items.add(new SatelliteMenuItem(1, R.drawable.ic_2));
Each menu item takes the ID of the item and the drawable resource for the item.
In order to listen clicks on items:
menu.setOnItemClickedListener(new SateliteClickedListener() {
public void eventOccured(int id) {
Log.i("sat", "Clicked on " + id);
}
});
The click event gives the ID of the item which was defined when adding it.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,520 starspublic-apis/public-apis
A collective list of free APIs
496,809 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
438,740 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,093 stars