Android衛星菜單:android-satellite-menu
android-satellite-menu實現點擊主按鈕,會彈出多個圍繞著主按鈕排列的子按鈕,從而形成一個衛星彈出式菜單。子按鈕彈出和消失的動畫效果都很棒。這種彈出式菜單按鈕應用在Path2.0中。
用法
在你的view xml中添加組件定義,如下示例:
<?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>
屬性有:
satelliteDistance
The distance of items from the center buttontotalSpacingDegree
The degree between the first and the last item.closeOnClick
Defines if the menu shall collapse after clicking on a menu item.expandDuration
The duration of expand and collapse operations in milliseconds.
當在你的View XML定義之后,可按以下代碼添加子菜單:
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.
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!