温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

wheel的使用

发布时间:2020-07-07 02:18:05 阅读:714 作者:海太帅 栏目:移动开发
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

1、首先导入wheel库或者将wheel文件拷到项目中

主类:

package com.example.view;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.ViewGroup;

import android.widget.TextView;

import antistatic.spinnerwheel.AbstractWheel;

import antistatic.spinnerwheel.OnWheelClickedListener;

import antistatic.spinnerwheel.OnWheelScrollListener;

import antistatic.spinnerwheel.WheelView;

import antistatic.spinnerwheel.adapters.AbstractWheelTextAdapter;

public class MainActivity2 extends Activity {

private String TAG = "MainActivity2";

private WheelView wheelView1;

private MyAdapter viewAdapter;

private int mChoosedIndex;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main_activity2);

wheelView1 = (WheelView) findViewById(R.id.wheelView1);

String[] arrMonths = new String[7];

for (int i = 1; i < arrMonths.length + 1; i++) {

arrMonths[i - 1] = i + "个月";

}

viewAdapter = new MyAdapter(this, arrMonths);//设置适配器

wheelView1.setViewAdapter(viewAdapter);

wheelView1.setDrawLine(false);//设置是否在前景图上下画线

wheelView1.setWheelForeground(R.drawable.wifi_notify);//设置前景图片

wheelView1.setDrawShadows(false);//设置前景是否画阴影

scrollToMiddle();//默认滑到中间一栏

wheelView1.addClickingListener(click);//设置点击事件

wheelView1.addScrollingListener(scrollListener);//设置滑动事件

}

OnWheelClickedListener click = new OnWheelClickedListener() {

public void onItemClicked(WheelView wheel, int itemIndex) {

Log.e(TAG, ">>>>onItemClicked=WheelView>>"+itemIndex);

wheel.setCurrentItem(itemIndex, true);

//  viewAdapter .notifyDataChangedEvent();//刷新getItem

}

@Override

public void onItemClicked(AbstractWheel wheel, int itemIndex) {

// TODO Auto-generated method stub

Log.e(TAG, ">>>>onItemClicked=AbstractWheel>>"+itemIndex);

//  viewAdapter .notifyDataChangedEvent();//刷新getItem

}

};

OnWheelScrollListener scrollListener = new OnWheelScrollListener() {

@Override

public void onScrollingStarted(AbstractWheel wheel) {

// TODO Auto-generated method stub

Log.e(TAG, ">>>>onScrollingStarted=AbstractWheel>>");

}

@Override

public void onScrollingFinished(AbstractWheel wheel) {

// TODO Auto-generated method stub

Log.e(TAG, ">>>>onScrollingFinished=AbstractWheel>>");

//  viewAdapter .notifyDataChangedEvent();//刷新getItem

}

@Override

public void onScrollingStarted(WheelView wheel) {

// TODO Auto-generated method stub

Log.e(TAG, ">>>>onScrollingStarted=WheelView>>");

}

@Override

public void onScrollingFinished(WheelView wheel) {

// TODO Auto-generated method stub

                      //  viewAdapter .notifyDataChangedEvent();//刷新getItem

Log.e(TAG, ">>>>onScrollingFinished=WheelView>>");

}

};

/**

* @Title: scrollToLast

* @Description: 滑到滚轮中间

* @throws

*/

private void scrollToMiddle() {

wheelView1.stopScrolling();

int middleIndex = (wheelView1.getViewAdapter().getItemsCount() + 1) / 2;

mChoosedIndex = middleIndex;

Log.e("", ">>>>>" + middleIndex);

wheelView1.setCurrentItem(middleIndex);

}

private class MyAdapter extends AbstractWheelTextAdapter {

String[] arrMonths;

protected MyAdapter(Context context, String[] arrMonths) {

super(context, R.layout.wheel_item, NO_RESOURCE);

this.arrMonths = arrMonths;

}

@Override

public int getItemsCount() {

return arrMonths.length;

}

@Override

public View getItem(int index, View convertView, ViewGroup parent) {

View view = super.getItem(index, convertView, parent);

TextView tvItem = (TextView) view.findViewById(R.id.tv_item);

                        //在适配器中改变item的样式

// if (index == mChoosedIndex) {

// tvItem.setTextColor(getResources().getColor(R.color.lightblue));

// } else {

// tvItem.setTextColor(getResources().getColor(

// R.color.gray_info_text));

// }

tvItem.setText(arrMonths[index]);

return view;

}

@Override

protected CharSequence getItemText(int index) {

return arrMonths[index];

}

public void notifyDataChangedEvent() {

super.notifyDataChangedEvent();

}

@Override

public void notifyDataInvalidatedEvent() {

super.notifyDataInvalidatedEvent();

}

}

}

 wheel_item文件:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <TextView

        android:id="@+id/tv_item"

        android:layout_width="80dp"

        android:layout_height="40dp"

        android:textColor="#ffffff"

        android:textSize="20sp"

        android:gravity="center"

        android:layout_gravity="center"

        android:background="#000000"

        android:text="tv" />

</LinearLayout>

布局文件:activity_main_activity2.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity2" >

    <antistatic.spinnerwheel.WheelView

        android:id="@+id/wheelView1"

        android:layout_width="150dp"

        android:layout_height="200dp"

        android:layout_alignParentTop="true"

        android:layout_centerHorizontal="true"

        android:layout_marginTop="174dp"

        android:background="#ff00ff" />

</RelativeLayout>

附件:http://down.51cto.com/data/2367759

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×