Warning: Undefined variable $yanshi_content in /www/wwwroot/www.jiandaima.com/blog/wp-content/plugins/xydown/xydown.php on line 105
功能分类:特效
支持平台:Android
运行环境:Android
开发语言:Java
开发工具:Eclipse
源码大小:692.23KB
源码简介
实现android移动程序弹出像ios一样的弹出框,
由于项目中需要用仿ios的弹出提示选择生日和地区
本人又重新封装,实现了像ios一样选择日期和地区
效果还是不错的,欢迎大家下载,直接能弄到程序中
希望你看到他的时候会忍不住下载下来留着以后项目中就只用他了~~~~
其他源码的链接:
http://bbs.jiandaima.com/forum.php
废话到此为止,上源码~~~~
源码截图:
部分源码:
package com.zf.iosdialog;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.gghl.view.wheelcity.AddressData;
import com.gghl.view.wheelcity.OnWheelChangedListener;
import com.gghl.view.wheelcity.OnWheelScrollListener;
import com.gghl.view.wheelcity.WheelView;
import com.gghl.view.wheelcity.adapters.AbstractWheelTextAdapter;
import com.gghl.view.wheelcity.adapters.ArrayWheelAdapter;
import com.gghl.view.wheelview.JudgeDate;
import com.gghl.view.wheelview.ScreenInfo;
import com.gghl.view.wheelview.WheelMain;
import com.zf.iosdialog.widget.ActionSheetDialog;
import com.zf.iosdialog.widget.ActionSheetDialog.OnSheetItemClickListener;
import com.zf.iosdialog.widget.ActionSheetDialog.SheetItemColor;
import com.zf.iosdialog.widget.MyAlertDialog;
public class MainActivity extends Activity implements OnClickListener {
private Button btn1;
private Button btn2;
private Button btn3;
private Button btn4;
private Button btn5;
WheelMain wheelMain;
EditText txttime;
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
private String cityTxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
txttime = (EditText) findViewById(R.id.txttime);
Calendar calendar = Calendar.getInstance();
txttime.setText(calendar.get(Calendar.YEAR) + "-"
+ (calendar.get(Calendar.MONTH) + 1) + "-"
+ calendar.get(Calendar.DAY_OF_MONTH) + "");
}
private void initView() {
btn1 = (Button) findViewById(R.id.btn1);
btn1.setOnClickListener(this);
btn2 = (Button) findViewById(R.id.btn2);
btn2.setOnClickListener(this);
btn3 = (Button) findViewById(R.id.btn3);
btn3.setOnClickListener(this);
btn4 = (Button) findViewById(R.id.btn4);
btn4.setOnClickListener(this);
btn5 = (Button) findViewById(R.id.btn5);
btn5.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn1:
// new ActionSheetDialog(MainActivity.this)
// .builder()
// .setTitle("清空消息列表后,聊天记录依然保留,确定要清空消息列表?")
// .setCancelable(false)
// .setCanceledOnTouchOutside(false)
// .addSheetItem("清空消息列表", SheetItemColor.Red,
// new OnSheetItemClickListener() {
// @Override
// public void onClick(int which) {
//
// }
// }).show();
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
final View timepickerview = inflater.inflate(R.layout.timepicker,
null);
ScreenInfo screenInfo = new ScreenInfo(MainActivity.this);
wheelMain = new WheelMain(timepickerview);
wheelMain.screenheight = screenInfo.getHeight();
String time = txttime.getText().toString();
Calendar calendar = Calendar.getInstance();
if (JudgeDate.isDate(time, "yyyy-MM-dd")) {
try {
calendar.setTime(dateFormat.parse(time));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
wheelMain.initDateTimePicker(year, month, day);
new AlertDialog.Builder(MainActivity.this)
.setTitle("选择时间")
.setView(timepickerview)
.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
txttime.setText(wheelMain.getTime());
}
})
.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
}
}).show();
break;
case R.id.btn2:
new ActionSheetDialog(MainActivity.this)
.builder()
.setCancelable(true)
.setCanceledOnTouchOutside(true)
.addSheetItem("用相机更换头像", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
}
})
.addSheetItem("去相册选择头像", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
}
}).show();
break;
case R.id.btn3:
new ActionSheetDialog(MainActivity.this)
.builder()
.setTitle("请选择操作")
.setCancelable(false)
.setCanceledOnTouchOutside(false)
.addSheetItem("条目一", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
Toast.makeText(MainActivity.this,
"item" + which, Toast.LENGTH_SHORT)
.show();
}
})
.addSheetItem("条目二", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
Toast.makeText(MainActivity.this,
"item" + which, Toast.LENGTH_SHORT)
.show();
}
})
.addSheetItem("条目三", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
Toast.makeText(MainActivity.this,
"item" + which, Toast.LENGTH_SHORT)
.show();
}
})
.addSheetItem("条目四", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
Toast.makeText(MainActivity.this,
"item" + which, Toast.LENGTH_SHORT)
.show();
}
})
.addSheetItem("条目五", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
Toast.makeText(MainActivity.this,
"item" + which, Toast.LENGTH_SHORT)
.show();
}
})
.addSheetItem("条目六", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
Toast.makeText(MainActivity.this,
"item" + which, Toast.LENGTH_SHORT)
.show();
}
})
.addSheetItem("条目七", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
Toast.makeText(MainActivity.this,
"item" + which, Toast.LENGTH_SHORT)
.show();
}
})
.addSheetItem("条目八", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
Toast.makeText(MainActivity.this,
"item" + which, Toast.LENGTH_SHORT)
.show();
}
})
.addSheetItem("条目九", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
Toast.makeText(MainActivity.this,
"item" + which, Toast.LENGTH_SHORT)
.show();
}
})
.addSheetItem("条目十", SheetItemColor.Blue,
new OnSheetItemClickListener() {
@Override
public void onClick(int which) {
Toast.makeText(MainActivity.this,
"item" + which, Toast.LENGTH_SHORT)
.show();
}
}).show();
break;
case R.id.btn4:
LayoutInflater inflater1 = LayoutInflater.from(MainActivity.this);
final View timepickerview1 = inflater1.inflate(R.layout.timepicker,
null);
ScreenInfo screenInfo1 = new ScreenInfo(MainActivity.this);
wheelMain = new WheelMain(timepickerview1);
wheelMain.screenheight = screenInfo1.getHeight();
String time1 = txttime.getText().toString();
Calendar calendar1 = Calendar.getInstance();
if (JudgeDate.isDate(time1, "yyyy-MM-dd")) {
try {
calendar1.setTime(dateFormat.parse(time1));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
int year1 = calendar1.get(Calendar.YEAR);
int month1 = calendar1.get(Calendar.MONTH);
int day1 = calendar1.get(Calendar.DAY_OF_MONTH);
wheelMain.initDateTimePicker(year1, month1, day1);
final MyAlertDialog dialog = new MyAlertDialog(MainActivity.this)
.builder()
.setTitle(btn4.getText().toString())
// .setMsg("再连续登陆15天,就可变身为QQ达人。退出QQ可能会使你现有记录归零,确定退出?")
// .setEditText("1111111111111")
.setView(timepickerview1)
.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(View v) {
}
});
dialog.setPositiveButton("保存", new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),
wheelMain.getTime(), 1).show();
}
});
dialog.show();
break;
case R.id.btn5:
View view = dialogm();
final MyAlertDialog dialog1 = new MyAlertDialog(MainActivity.this)
.builder()
.setTitle(btn5.getText().toString())
// .setMsg("再连续登陆15天,就可变身为QQ达人。退出QQ可能会使你现有记录归零,确定退出?")
// .setEditText("1111111111111")
.setView(view)
.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(View v) {
}
});
dialog1.setPositiveButton("保存", new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), cityTxt, 1).show();
}
});
dialog1.show();
break;
default:
break;
}
}
private View dialogm() {
View contentView = LayoutInflater.from(this).inflate(
R.layout.wheelcity_cities_layout, null);
final WheelView country = (WheelView) contentView
.findViewById(R.id.wheelcity_country);
country.setVisibleItems(3);
country.setViewAdapter(new CountryAdapter(this));
final String cities[][] = AddressData.CITIES;
final String ccities[][][] = AddressData.COUNTIES;
final WheelView city = (WheelView) contentView
.findViewById(R.id.wheelcity_city);
city.setVisibleItems(0);
// 地区选择
final WheelView ccity = (WheelView) contentView
.findViewById(R.id.wheelcity_ccity);
ccity.setVisibleItems(0);// 不限城市
country.addChangingListener(new OnWheelChangedListener() {
public void onChanged(WheelView wheel, int oldValue, int newValue) {
updateCities(city, cities, newValue);
cityTxt = AddressData.PROVINCES[country.getCurrentItem()]
+ " | "
+ AddressData.CITIES[country.getCurrentItem()][city
.getCurrentItem()]
+ " | "
+ AddressData.COUNTIES[country.getCurrentItem()][city
.getCurrentItem()][ccity.getCurrentItem()];
}
});
city.addChangingListener(new OnWheelChangedListener() {
public void onChanged(WheelView wheel, int oldValue, int newValue) {
updatecCities(ccity, ccities, country.getCurrentItem(),
newValue);
cityTxt = AddressData.PROVINCES[country.getCurrentItem()]
+ " | "
+ AddressData.CITIES[country.getCurrentItem()][city
.getCurrentItem()]
+ " | "
+ AddressData.COUNTIES[country.getCurrentItem()][city
.getCurrentItem()][ccity.getCurrentItem()];
}
});
ccity.addChangingListener(new OnWheelChangedListener() {
public void onChanged(WheelView wheel, int oldValue, int newValue) {
cityTxt = AddressData.PROVINCES[country.getCurrentItem()]
+ " | "
+ AddressData.CITIES[country.getCurrentItem()][city
.getCurrentItem()]
+ " | "
+ AddressData.COUNTIES[country.getCurrentItem()][city
.getCurrentItem()][ccity.getCurrentItem()];
}
});
country.setCurrentItem(1);// 设置北京
city.setCurrentItem(1);
ccity.setCurrentItem(1);
return contentView;
}
/**
* Updates the city wheel
*/
private void updateCities(WheelView city, String cities[][], int index) {
ArrayWheelAdapter<string> adapter = new ArrayWheelAdapter<string>(this,
cities[index]);
adapter.setTextSize(18);
city.setViewAdapter(adapter);
city.setCurrentItem(0);
}
/**
* Updates the ccity wheel
*/
private void updatecCities(WheelView city, String ccities[][][], int index,
int index2) {
ArrayWheelAdapter<string> adapter = new ArrayWheelAdapter<string>(this,
ccities[index][index2]);
adapter.setTextSize(18);
city.setViewAdapter(adapter);
city.setCurrentItem(0);
}
/**
* Adapter for countries
*/
private class CountryAdapter extends AbstractWheelTextAdapter {
// Countries names
private String countries[] = AddressData.PROVINCES;
/**
* Constructor
*/
protected CountryAdapter(Context context) {
super(context, R.layout.wheelcity_country_layout, NO_RESOURCE);
setItemTextResource(R.id.wheelcity_country_name);
}
@Override
public View getItem(int index, View cachedView, ViewGroup parent) {
View view = super.getItem(index, cachedView, parent);
return view;
}
@Override
public int getItemsCount() {
return countries.length;
}
@Override
protected CharSequence getItemText(int index) {
return countries[index];
}
}
}
..






Good