Repository: incubator-weex Updated Branches: refs/heads/master 1c7f1ff75 -> 6b3519a2d
* [android] support mutil language on dialog Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a8cac846 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a8cac846 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a8cac846 Branch: refs/heads/master Commit: a8cac8467f6236b962a9c3d13b9ebf72bf4c1ad5 Parents: 659284d Author: misakuo <misa...@apache.org> Authored: Mon Oct 23 14:18:36 2017 +0800 Committer: misakuo <misa...@apache.org> Committed: Mon Oct 23 14:18:36 2017 +0800 ---------------------------------------------------------------------- .../weex/appfram/pickers/DatePickerImpl.java | 33 ++++++++++++++++++-- .../weex/appfram/pickers/WXPickersModule.java | 7 +++-- .../ui/component/helper/WXTimeInputHelper.java | 6 ++-- 3 files changed, 39 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a8cac846/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/DatePickerImpl.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/DatePickerImpl.java b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/DatePickerImpl.java index f6950bf..db00765 100644 --- a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/DatePickerImpl.java +++ b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/DatePickerImpl.java @@ -18,6 +18,7 @@ */ package com.taobao.weex.appfram.pickers; +import android.app.AlertDialog; import android.app.DatePickerDialog; import android.app.TimePickerDialog; import android.content.Context; @@ -25,6 +26,7 @@ import android.content.DialogInterface; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.text.TextUtils; +import android.widget.Button; import android.widget.DatePicker; import android.widget.TimePicker; @@ -35,6 +37,7 @@ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; +import java.util.Map; /** * Created by moxun on 16/11/23. @@ -48,7 +51,7 @@ public class DatePickerImpl { private static SimpleDateFormat timeFormatter; private static SimpleDateFormat dateFormatter; - public static void pickDate(@NonNull Context context, String value, String max, String min, @NonNull final OnPickListener listener) { + public static void pickDate(@NonNull Context context, String value, String max, String min, @NonNull final OnPickListener listener, @Nullable Map<String, Object> extras) { Calendar calendar = Calendar.getInstance(); calendar.setTime(parseDate(value)); final DatePickerDialog dialog = new DatePickerDialog( @@ -102,10 +105,13 @@ public class DatePickerImpl { } }); + setButtonText(dialog, DialogInterface.BUTTON_NEGATIVE, String.valueOf(extras.get("cancelTitle"))); + setButtonText(dialog, DialogInterface.BUTTON_POSITIVE, String.valueOf(extras.get("confirmTitle"))); + dialog.show(); } - public static void pickTime(@NonNull Context context, String value, @NonNull final OnPickListener listener) { + public static void pickTime(@NonNull Context context, String value, @NonNull final OnPickListener listener, @Nullable Map<String, Object> extras) { Calendar calendar = Calendar.getInstance(); calendar.setTime(parseTime(value)); TimePickerDialog dialog = new TimePickerDialog( @@ -131,6 +137,9 @@ public class DatePickerImpl { } }); + setButtonText(dialog, DialogInterface.BUTTON_NEGATIVE, String.valueOf(extras.get("cancelTitle"))); + setButtonText(dialog, DialogInterface.BUTTON_POSITIVE, String.valueOf(extras.get("confirmTitle"))); + dialog.show(); } @@ -165,4 +174,24 @@ public class DatePickerImpl { } return new Date(); } + + private static void setButtonText(final AlertDialog dialog, final int which, final CharSequence text) { + if (TextUtils.isEmpty(text) || "null".equals(text)) { + return; + } + try { + dialog.getWindow().getDecorView().post(new Runnable() { + @Override + public void run() { + Button button = dialog.getButton(which); + if (button != null) { + button.setAllCaps(false); + button.setText(text); + } + } + }); + } catch (Throwable t) { + t.printStackTrace(); + } + } } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a8cac846/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java index 9209a4f..6a94fae 100644 --- a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java +++ b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java @@ -148,8 +148,8 @@ public class WXPickersModule extends WXModule { callback.invoke(ret); } } - } - ); + }, + options); } private void performPickDate(Map<String, Object> options, final JSCallback callback) { @@ -176,7 +176,8 @@ public class WXPickersModule extends WXModule { callback.invoke(ret); } } - }); + }, + options); } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a8cac846/android/sdk/src/main/java/com/taobao/weex/ui/component/helper/WXTimeInputHelper.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/helper/WXTimeInputHelper.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/helper/WXTimeInputHelper.java index 5056f5c..9d3f669 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/helper/WXTimeInputHelper.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/helper/WXTimeInputHelper.java @@ -45,7 +45,8 @@ public class WXTimeInputHelper { component.performOnChange(result); } } - }); + }, + null); } public static void pickTime(final AbstractEditComponent component) { @@ -62,7 +63,8 @@ public class WXTimeInputHelper { component.performOnChange(result); } } - } + }, + null ); } }