package com.partynetwork.iparty.nearby;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.partynetwork.dataprovider.util.CityUtil;
import com.partynetwork.dataprovider.util.StringUtil;
import com.partynetwork.iparty.R;
import com.partynetwork.myview.wheelview.ArrayWheelAdapter;
import com.partynetwork.myview.wheelview.NumericWheelAdapter;
import com.partynetwork.myview.wheelview.WheelAdapter;
import com.partynetwork.myview.wheelview.WheelPicker;
import com.partynetwork.myview.wheelview.WheelPicker.WheelListener;
import com.partynetwork.myview.wheelview.WheelView;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
/**
* 注册界面
*
* @author sys
* @version 1.1
* @since 2014.01.18
*/
public class NearbyCustomActivity extends Activity {
/* 控件声明注册 */
/**
* 关闭按钮
*/
@ViewInject(R.id.menu_head_left)
LinearLayout backBtn;
/**
* 全部性别
*/
@ViewInject(R.id.nearby_sex_all_ll)
LinearLayout sex_all;
/**
* 男性别
*/
@ViewInject(R.id.nearby_sex_man_ll)
LinearLayout sex_man;
/**
* 女性别
*/
@ViewInject(R.id.nearby_sex_women_ll)
LinearLayout sex_women;
/**
* 其他性别
*/
@ViewInject(R.id.nearby_sex_other_ll)
LinearLayout sex_other;
// 性别列表
private List<LinearLayout> sexList = new ArrayList<LinearLayout>();
/**
* 默认15分钟
*/
@ViewInject(R.id.nearby_time_moment_ll)
LinearLayout time_moment;
/**
* 一个小时
*/
@ViewInject(R.id.nearby_time_hour_ll)
LinearLayout time_hour;
/**
* 一天
*/
@ViewInject(R.id.nearby_time_day_ll)
LinearLayout time_day;
/**
* 三天
*/
@ViewInject(R.id.nearby_time_days_ll)
LinearLayout time_days;
// 时间列表
private List<LinearLayout> timeList = new ArrayList<LinearLayout>();
/**
* 年龄
*/
@ViewInject(R.id.nearby_custom_age_rl)
RelativeLayout age;
@ViewInject(R.id.nearby_custom_age_tv)
TextView age_tv;
/**
* 距离
*/
@ViewInject(R.id.nearby_custom_distance_rl)
RelativeLayout distance;
@ViewInject(R.id.nearby_custom_distance_tv)
TextView distance_tv;
/**
* 城市
*/
@ViewInject(R.id.nearby_custom_city_rl)
RelativeLayout city;
@ViewInject(R.id.nearby_custom_city_tv)
TextView city_tv;
/**
* 确定
*/
@ViewInject(R.id.nearby_ok_rl)
RelativeLayout okBtn;
/** 滚轮弹窗 */
private WheelPicker agePicker;
private WheelPicker distancePicker;
private WheelPicker cityPicker;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nearby_custom);
ViewUtils.inject(this);
init();
}
private void init() {
sexList.add(sex_all);
sexList.add(sex_man);
sexList.add(sex_women);
sexList.add(sex_other);
timeList.add(time_moment);
timeList.add(time_hour);
timeList.add(time_day);
timeList.add(time_days);
agePicker = new WheelPicker(this,2, new NumericWheelAdapter(18, 100),
ageWheelListener);
String dis[] = new String[] { "0.5km", "1km", "2km", "3km", "5km",
"10km", "30km", "50km", "100km" };
distancePicker=new WheelPicker(this, 1, new ArrayWheelAdapter<String>(dis),
distanceWheelListener);
cityPicker=new WheelPicker(this,2,
new ArrayWheelAdapter<String>(CityUtil.getProvinceName()),
cityWheelListener);
}
@OnClick({ R.id.menu_head_left, R.id.nearby_sex_all_ll,
R.id.nearby_sex_man_ll, R.id.nearby_sex_women_ll,
R.id.nearby_sex_other_ll, R.id.nearby_time_moment_ll,
R.id.nearby_time_hour_ll, R.id.nearby_time_day_ll,
R.id.nearby_time_days_ll, R.id.nearby_custom_age_rl,
R.id.nearby_custom_distance_rl, R.id.nearby_custom_city_rl,
R.id.nearby_ok_rl })
public void btnClick(View v) {
switch (v.getId()) {
case R.id.menu_head_left:
finish();
// 界面消失动画
overridePendingTransition(R.anim.animation_enterfromleft,
R.anim.animation_fadefromright);
break;
case R.id.nearby_sex_all_ll:
selectSex(0);
break;
case R.id.nearby_sex_man_ll:
selectSex(1);
break;
case R.id.nearby_sex_women_ll:
selectSex(2);
break;
case R.id.nearby_sex_other_ll:
selectSex(3);
break;
case R.id.nearby_time_moment_ll:
selectTime(0);
break;
case R.id.nearby_time_hour_ll:
selectTime(1);
break;
case R.id.nearby_time_day_ll:
selectTime(2);
break;
case R.id.nearby_time_days_ll:
selectTime(3);
break;
case R.id.nearby_custom_age_rl:
// 年龄选择
agePicker.showAt(backBtn);
break;
case R.id.nearby_custom_distance_rl:
// 距离选择
distancePicker.showAt(backBtn);
break;
case R.id.nearby_custom_city_rl:
// 城市选择
cityPicker.showAt(backBtn);
break;
case R.id.nearby_ok_rl:
finish();
break;
default:
break;
}
}
/**
* 设置性别的选中效果
*
* @param id
*/
private void selectSex(int id) {
for (int i = 0; i < sexList.size(); i++) {
LinearLayout ll = sexList.get(i);
TextView tv = (TextView) ll.findViewById(R.id.tv);
if (i == id) {
if (i == 0) {
ll.setBackgroundResource(R.drawable.stroke_left_select);
} else if (i == sexList.size() - 1) {
ll.setBackgroundResource(R.drawable.stroke_right_select);
} else {
ll.setBackgroundResource(R.drawable.stroke_center_select);
}
tv.setTextColor(Color.WHITE);
} else {
if (i == 0) {
ll.setBackgroundResource(R.drawable.stroke_left);
} else if (i == sexList.size() - 1) {
ll.setBackgroundResource(R.drawable.stroke_right);
} else {
ll.setBackgroundResource(R.drawable.stroke_center);
}
tv.setTextColor(Color.BLACK);
}
}
}
/**
* 设置时间的选中效果
*
* @param id
*/
private void selectTime(int id) {
for (int i = 0; i < timeList.size(); i++) {
LinearLayout ll = timeList.get(i);
TextView tv = (TextView) ll.findViewById(R.id.tv);
if (i == id) {
if (i == 0) {
ll.setBackgroundResource(R.drawable.stroke_left_select);
} else if (i == timeList.size() - 1) {
ll.setBackgroundResource(R.drawable.stroke_right_select);
} else {
ll.setBackgroundResource(R.drawable.stroke_center_select);
}
tv.setTextColor(Color.WHITE);
} else {
if (i == 0) {
ll.setBackgroundResource(R.drawable.stroke_left);
} else if (i == timeList.size() - 1) {
ll.setBackgroundResource(R.drawable.stroke_right);
} else {
ll.setBackgroundResource(R.drawable.stroke_center);
}
tv.setTextColor(Color.BLACK);
}
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case 0:
// 设置城市
// city_text.setText(data.getStringExtra("city"));
break;
default:
break;
}
}
/**
* 年龄滚轮的监听
*/
private WheelListener ageWheelListener = new WheelListener() {
@Override
public WheelAdapter onChange(WheelView wheel, int oldValue, int newValue) {
return new NumericWheelAdapter(Integer.parseInt(wheel
.getTextItem(wheel.getCurrentItem())), 100);
}
@Override
public void confirm(String str) {
StringUtil.setText(age_tv, str);
}
@Override
public void cancel() {
age_tv.setText("不限");
}
};
/**
* 距离滚轮的监听
*/
private WheelListener distanceWheelListener = new WheelListener() {
@Override
public WheelAdapter onChange(WheelView wheel, int oldValue, int newValue) {
// TODO 自动生成的方法存根
return null;
}
@Override
public void confirm(String str) {
StringUtil.setText(distance_tv, str);
}
@Override
public void cancel() {
distance_tv.setText("不限");
}
};
/**
* 城市滚轮的监听
*/
private WheelListener cityWheelListener = new WheelListener() {
@Override
public WheelAdapter onChange(WheelView wheel, int oldValue, int newValue) {
return new ArrayWheelAdapter<String>(
CityUtil.getCityList4ProvinceIndex(newValue));
}
@Override
public void confirm(String str) {
StringUtil.setText(city_tv, str);
}
@Override
public void cancel() {
city_tv.setText("不限");
}
};
}