android 双层旋转菜单,Android之可旋转的轮盘菜单

项目下载地址:http://download.csdn.net/detail/qq_35352552/9886010

可旋转的菜单轮盘

偶然在GitHub上看到的控件感觉不错这里简单介绍一下

首先导入依赖

compile 'com.github.lukedeighton:wheelview:0.4.1'

页面布局

android:id="@+id/wheelview"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_centerInParent="true"

app:repeatItems="true"

app:rotatableWheelDrawable="false"

app:selectionAngle="90.0"

app:wheelColor="#ff0"

app:wheelItemCount="14"

app:wheelItemRadius="43dp"

app:wheelOffsetY="60dp"

app:wheelPadding="13dp"

app:wheelPosition="bottom"

app:wheelRadius="276dp"/>

上面有该自定义View的 属性含义,自己理解的,当然可以自己测试一下...

首先我们要两个集合 一个数据,一个图片

final List entries = new ArrayList<>();

entries.add("1");

entries.add("2");

entries.add("3");

entries.add("4");

entries.add("5");

final List imgList = new ArrayList<>();

imgList.add(getResources().getDrawable(R.mipmap.i1));

imgList.add(getResources().getDrawable(R.mipmap.i2));

imgList.add(getResources().getDrawable(R.mipmap.i3));

imgList.add(getResources().getDrawable(R.mipmap.i4));

imgList.add(getResources().getDrawable(R.mipmap.i5));

然后设置一个wheeladapter类似于你将与ListView一个适配器集

// 设置一个wheeladapter类似于你将与ListView一个适配器集

wheelView.setAdapter(new WheelAdapter() {

@Override

public Drawable getDrawable(int position) {

return imgList.get(position);

}

@Override

public int getCount() {

return imgList.size();

}

});

* 注意:这里的wheeladapter没有ListView - Adapter的机制 如果需要添加新的数据 需要重新设置。

接下来是设置监听

1. 监听选中的条目变化

wheelView.setOnWheelItemSelectedListener(new WheelView.OnWheelItemSelectListener() {

@Override

public void onWheelItemSelected(WheelView parent, Drawable itemDrawable, int position) {

}

});

2. 监听选中条目

// 选中的图片

wheelView.setOnWheelItemClickListener(new WheelView.OnWheelItemClickListener() {

@Override

public void onWheelItemClick(WheelView parent, int position, boolean isSelected) {

wheelView.setSelected(position);

Log.e("----", "" + position);

}

});

3. 监听角度改变

wheelView.setOnWheelAngleChangeListener(new WheelView.OnWheelAngleChangeListener() {

@Override

public void onWheelAngleChange(float angle) {

}

});

下面是完整的代码

/**

* 作者:CoolTone

* 描述:可旋转的滚轮菜单

*/

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final WheelView wheelView = (WheelView) findViewById(R.id.wheelview);

final List entries = new ArrayList<>();

entries.add("1");

entries.add("2");

entries.add("3");

entries.add("4");

entries.add("5");

final List imgList = new ArrayList<>();

imgList.add(getResources().getDrawable(R.mipmap.i1));

imgList.add(getResources().getDrawable(R.mipmap.i2));

imgList.add(getResources().getDrawable(R.mipmap.i3));

imgList.add(getResources().getDrawable(R.mipmap.i4));

imgList.add(getResources().getDrawable(R.mipmap.i5));

// 设置一个wheeladapter类似于你将与ListView一个适配器集

wheelView.setAdapter(new WheelAdapter() {

@Override

public Drawable getDrawable(int position) {

return imgList.get(position);

}

@Override

public int getCount() {

return imgList.size();

}

});

// 监听选中的图片

wheelView.setOnWheelItemClickListener(new WheelView.OnWheelItemClickListener() {

@Override

public void onWheelItemClick(WheelView parent, int position, boolean isSelected) {

wheelView.setSelected(position);

Log.e("----", "" + position);

}

});

}

}

以上就是自定义的滚轮菜单选择器了...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值