您好,登錄后才能下訂單哦!
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>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。