Android 自定义控件WheelView

一、定义WheelView

融合网友的杰作,实现滑动选择效果。


二、WheelView的使用

public class MainActivity extends Activity {

	private Button mainBt;
	private static final String TAG = MainActivity.class.getSimpleName();
	private static final String[] PLANETS = new String[] { "赵云", "关羽", "张飞",
			"吕布", "典韦", "马超", "黄忠", "诸葛亮" };

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		mainBt = (Button) findViewById(R.id.main_bt);
		mainBt.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 构建弹出框View
				View outerView = LayoutInflater.from(MainActivity.this)
						.inflate(R.layout.wheel_view, null);

				WheelView wv = (WheelView) outerView
						.findViewById(R.id.wheel_view_wv);
				// wv.setOffset(0);// 偏移量
				wv.setOffset(2);
				wv.setItems(Arrays.asList(PLANETS));// 实际内容
				wv.setSeletion(0);// 设置默认被选中的项目
				// wv.setSeletion(3);
				wv.setOnWheelViewListener(new WheelView.OnWheelViewListener() {
					@Override
					public void onSelected(int selectedIndex, String item) {
						// 选中后的处理事件
						Log.d(TAG, "[Dialog]selectedIndex: " + selectedIndex
								+ ", item: " + item);
					}
				});

				// 展示弹出框
				new AlertDialog.Builder(MainActivity.this)
						.setTitle("WheelView in Dialog").setView(outerView)
						.setPositiveButton("OK", null).show();

			}
		});
	}
}
展示最终效果:


三、自定义控件源码【复制可直接使用】

是的,自定义控件源码才是最宝贝的。重走Android路,希望以后的自己,能够构造出来更多炫酷的控件。

public class WheelView extends ScrollView {
    public static final String TAG = WheelView.class.getSimpleName();

    public static class OnWheelViewListener {
        public void onSelected(int selectedIndex, String item) {
        }
    }

    private Context context;
    private LinearLayout views;

    public WheelView(Context context) {
        super(context);
        init(context);
    }

    public WheelVi
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

壹叁零壹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值