Browse Source

update MobileUI.java

wangxl 9 years ago
parent
commit
ddaffa073a
1 changed files with 12 additions and 29 deletions
  1. 12 29
      wade-mobile-func/src/com/wade/mobile/func/MobileUI.java

+ 12 - 29
wade-mobile-func/src/com/wade/mobile/func/MobileUI.java

16
import android.content.DialogInterface;
16
import android.content.DialogInterface;
17
import android.content.Intent;
17
import android.content.Intent;
18
import android.graphics.Color;
18
import android.graphics.Color;
19
import android.util.Log;
19
import android.view.Gravity;
20
import android.view.Gravity;
20
import android.view.KeyEvent;
21
import android.view.KeyEvent;
21
import android.webkit.WebView;
22
import android.webkit.WebView;
150

151

151
		context.runOnUiThread(new Runnable() {
152
		context.runOnUiThread(new Runnable() {
152
			public void run() {
153
			public void run() {
153
				// TODO Auto-generated method stub
154
				try {
154
				try {
155
					TemplateWebView webview = initFlipperPage(pageAction,
156
							isAnimation);
155
					TemplateWebView webview = initFlipperPage(isAnimation);
157
					webview.loadTemplate(templatePath, data);
156
					webview.loadTemplate(templatePath, data);
158
				} catch (Exception e) {
157
				} catch (Exception e) {
159
					MobileLog.e(TAG, e.getMessage(), e);
158
					MobileLog.e(TAG, e.getMessage(), e);
261
	}
260
	}
262

261

263
	/************************ 多WebView 开始 *****************************/
262
	/************************ 多WebView 开始 *****************************/
264
	private TemplateWebView initFlipperPage(String pageAction,
265
			boolean isAnimation) {
266
		// TODO Auto-generated method stub
263
	private TemplateWebView initFlipperPage(boolean isAnimation) {
267
		FlipperLayout mainFlipper = wademobile.getFlipperLayout();
264
		FlipperLayout mainFlipper = wademobile.getFlipperLayout();
268
		TemplateWebView webview = (TemplateWebView) mainFlipper
269
				.findViewWithTag(pageAction);
265
		TemplateWebView webview = (TemplateWebView) mainFlipper.getNextView();
266
		
270
		if (webview == null) {
267
		if (webview == null) {
271
			webview = addFlipperPage(mainFlipper, pageAction);
268
			webview = addFlipperPage(mainFlipper);
272
		}
269
		}
270
		
273
		if (isAnimation) {
271
		if (isAnimation) {
274
			mainFlipper.setAnimation(AnimationResource.pushLeft[0],
272
			mainFlipper.setAnimation(AnimationResource.pushLeft[0],
275
					AnimationResource.pushLeft[1]);
273
					AnimationResource.pushLeft[1]);
276
			mainFlipper.setBackAnimation(AnimationResource.pushRight[0],
274
			mainFlipper.setBackAnimation(AnimationResource.pushRight[0],
277
					AnimationResource.pushRight[1]);
275
					AnimationResource.pushRight[1]);
278
		}
276
		}
279
		webview.setTag(pageAction);
280
		mainFlipper.setPreCurrView(webview);
281
		return webview;
277
		return webview;
282
	}
278
	}
283

279

284
	private TemplateWebView addFlipperPage(final FlipperLayout mainFlipper,
285
			final String pageAction) {
286
		final TemplateWebView webview = new TemplateWebView(wademobile) {
287
			final TemplateWebView outWebView = this;// 让上级对象转义到下级scope
288

280
	private TemplateWebView addFlipperPage(final FlipperLayout mainFlipper) {
281
		TemplateWebView webview = new TemplateWebView(wademobile) {
289
			@Override
282
			@Override
290
			protected void initialize() {
283
			protected void initialize() {
291
				// TODO Auto-generated method stub
292
				WadeWebViewClient webViewClient = new WadeWebViewClient(
284
				WadeWebViewClient webViewClient = new WadeWebViewClient(
293
						wademobile, new TemplateWebViewEvent(wademobile) {
285
						wademobile, new TemplateWebViewEvent(wademobile) {
294
							@Override
286
							@Override
295
							public void loadingFinished(WebView view, String url) {
287
							public void loadingFinished(WebView view, String url) {
296
								// TODO Auto-generated method stub
297
								wademobile.getFlipperLayout().showView(
298
										outWebView.getTag().toString());// 直接使用getTag()方法也可行
288
								wademobile.getFlipperLayout().showNextView();
299
							}
289
							}
300
						});
290
						});
301
				setWebViewClient(webViewClient);
291
				setWebViewClient(webViewClient);
306
		((WadeMobileActivity) wademobile).getWebviewSetting().setWebViewStyle(
296
		((WadeMobileActivity) wademobile).getWebviewSetting().setWebViewStyle(
307
				webview);// 设置webview的样式
297
				webview);// 设置webview的样式
308

298

309
		webview.setId(mainFlipper.getChildCount());
310

311
		mainFlipper.addView(webview);// 增加view
312
		webview.postInvalidate();// 刷新页面
299
		mainFlipper.addNextView(webview);// 增加view
300
//		webview.postInvalidate();// 刷新页面
313
		return webview;
301
		return webview;
314
	}
302
	}
315

303

451
	 */
439
	 */
452
	public void confirm(String message, String title, final String[] events,
440
	public void confirm(String message, String title, final String[] events,
453
			final String[] buttons) {
441
			final String[] buttons) {
454
		// TODO Auto-generated method stub
455
		AlertDialog.Builder dialog = new AlertDialog.Builder(this.context);
442
		AlertDialog.Builder dialog = new AlertDialog.Builder(this.context);
456
		dialog.setMessage(message);
443
		dialog.setMessage(message);
457
		if (title != null) {
444
		if (title != null) {
512
	}
499
	}
513

500

514
	public void getDate(String date, final String format) {
501
	public void getDate(String date, final String format) {
515
		// TODO Auto-generated method stub
516
		int year, month, day_of_month;
502
		int year, month, day_of_month;
517
		final Calendar cal = Calendar.getInstance();
503
		final Calendar cal = Calendar.getInstance();
518
		final SimpleDateFormat df = new SimpleDateFormat(format);
504
		final SimpleDateFormat df = new SimpleDateFormat(format);
536
						@Override
522
						@Override
537
						public void onDateSet(DatePicker view, int year,
523
						public void onDateSet(DatePicker view, int year,
538
								int monthOfYear, int dayOfMonth) {
524
								int monthOfYear, int dayOfMonth) {
539
							// TODO Auto-generated method stub
540
							cal.set(year, monthOfYear, dayOfMonth);
525
							cal.set(year, monthOfYear, dayOfMonth);
541
							String date = df.format(cal.getTime());
526
							String date = df.format(cal.getTime());
542
							MobileUI.this.callback(date);
527
							MobileUI.this.callback(date);
553
						@Override
538
						@Override
554
						public void onDateSet(DatePicker view, int year,
539
						public void onDateSet(DatePicker view, int year,
555
								int monthOfYear, int dayOfMonth) {
540
								int monthOfYear, int dayOfMonth) {
556
							// TODO Auto-generated method stub
557
							cal.set(year, monthOfYear, dayOfMonth);
541
							cal.set(year, monthOfYear, dayOfMonth);
558
							String date = df.format(cal.getTime());
542
							String date = df.format(cal.getTime());
559
							MobileUI.this.callback(date);
543
							MobileUI.this.callback(date);
841

825

842
	@Override
826
	@Override
843
	public void onActivityResult(int requestCode, int resultCode, Intent intent) {
827
	public void onActivityResult(int requestCode, int resultCode, Intent intent) {
844
		// TODO Auto-generated method stub
845
		if (requestCode == REQUEST_CODE_CUSTOM_DIALOG) {
828
		if (requestCode == REQUEST_CODE_CUSTOM_DIALOG) {
846
			if (intent == null)
829
			if (intent == null)
847
				return;
830
				return;