Merge branch 'feature/slider' into 'master'

Feature/slider



See merge request !19
This commit is contained in:
pengfeizhou
2019-11-20 19:17:57 +08:00
12 changed files with 203 additions and 44 deletions

View File

@@ -15,16 +15,20 @@
*/
package pub.doric.plugin;
import android.view.Gravity;
import android.widget.Toast;
import pub.doric.DoricContext;
import pub.doric.extension.bridge.DoricPlugin;
import pub.doric.extension.bridge.DoricMethod;
import pub.doric.extension.bridge.DoricPromise;
import pub.doric.utils.DoricUtils;
import pub.doric.utils.ThreadMode;
import com.github.pengfeizhou.jscore.ArchiveException;
import com.github.pengfeizhou.jscore.JSDecoder;
import com.github.pengfeizhou.jscore.JSObject;
import com.github.pengfeizhou.jscore.JSValue;
/**
* @Description: Doric
@@ -41,7 +45,25 @@ public class ModalPlugin extends DoricJavaPlugin {
@DoricMethod(name = "toast", thread = ThreadMode.UI)
public void toast(JSDecoder decoder, DoricPromise promise) {
try {
Toast.makeText(getDoricContext().getContext(), decoder.string(), Toast.LENGTH_SHORT).show();
JSObject jsObject = decoder.decode().asObject();
String msg = jsObject.getProperty("msg").asString().value();
JSValue gravityVal = jsObject.getProperty("gravity");
int gravity = Gravity.BOTTOM;
if (gravityVal.isNumber()) {
gravity = gravityVal.asNumber().toInt();
}
Toast toast = Toast.makeText(getDoricContext().getContext(),
jsObject.getProperty("msg").asString().value(),
Toast.LENGTH_SHORT);
if ((gravity & Gravity.TOP) == Gravity.TOP) {
toast.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL, 0, DoricUtils.dp2px(50));
} else if ((gravity & Gravity.BOTTOM) == Gravity.BOTTOM) {
toast.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, DoricUtils.dp2px(50));
} else {
toast.setGravity(Gravity.CENTER | Gravity.CENTER_HORIZONTAL, 0, 0);
}
toast.show();
} catch (ArchiveException e) {
e.printStackTrace();
}