Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
C

CursorWheelLayout

> 编程语言
Open source

An Android Widget for selecting items that rotate on a wheel.

733 stars0 likes0 views
WebsiteGitHub

About

An Android Widget for selecting items that rotate on a wheel.

CursorWheelLayout

CursorWheelLayout is an Android library that allows view to be placed on a rotatable wheel. It behaves like a Circular ListView where items rotate rather than scroll vertically(but without view recycle strategy). CursorWheelLayout consists of two components , the center item with id id_wheel_menu_center_item and the menu items that provided by CycleWheelAdapter.

The CursorWheelLayout can be used as a way to select one item from a list. The wheelSelectedAngle attribute determines what position on the wheel is selected. You can also receive a callback for when an item is clicked, and whether it is selected. Have a look at the sample for a working example!

Screenshot

Apk

Download Demo here

Setup

Gradle

compile 'github.hellocsl:CursorWheelLayout:1.1.0'

Maven


  github.hellocsl
  CursorWheelLayout
  1.1.0
  pom

Usage

  1. Add a custom view in Xml
  

        
    
  1. Define your WheelCycleAdapter
public class SimpleTextAdapter implements CursorWheelLayout.CycleWheelAdapter{

        public int getCount(){
        //...
        }

        public View getView(View parent, int position){
        //...
        }

        public Object getItem(int position){
        //...
        }

}
  1. Set your WheelCycleAdapter similar to how you would set an adapter with a ListView
        SimpleTextAdapter simpleTextAdapter = new SimpleTextAdapter(this, menuItemDatas);
        mTestCircleMenuLeft.setAdapter(simpleTextAdapter);

Listener

  1. A listener for when the closest item to the SelectionAngle changes.
      mTestCircleMenuTop.setOnMenuSelectedListener(new CursorWheelLayout.OnMenuSelectedListener() {
            @Override
            public void onItemSelected(CursorWheelLayout parent, View view, int pos) {
                Toast.makeText(MainActivity.this, "Top Menu selected position:" + pos, Toast.LENGTH_SHORT).show();
            }
        });
  1. A listener for when an item is clicked.
        mTestCircleMenuTop.setOnMenuItemClickListener(new CursorWheelLayout.OnMenuItemClickListener() {
            @Override
            public void onItemClick(View view, int pos) {
                Toast.makeText(MainActivity.this, "Top Menu click position:" + pos, Toast.LENGTH_SHORT).show();

            }
        });

Useful attributes

Here are the custom attributes that can be declared in xml:

  • wheelSelectedAngle
  • wheelPaddingRadio
  • wheelCenterRadio
  • wheelItemRadio
  • wheelFlingValue
  • wheelCursorHeight
  • wheelCursorColor
  • wheelBackgroundColor
  • wheelItemRotateMode

Refer to

http://blog.csdn.net/lmj623565791/article/details/43131133

License

Apache License Version 2.0 http://apache.org/licenses/LICENSE-2.0.txt

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Javawheel

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言