コード例 #1
0
        // http://www.codeproject.com/Tips/623446/Style-Any-Activity-as-an-Alert-Dialog-in-Android
        // android:theme="@android:style/Theme.Holo.Dialog"



        protected override void onCreate(global::android.os.Bundle savedInstanceState)
        {
            ScriptCoreLib.Android.ThreadLocalContextReference.CurrentContext = this;

            // X:\jsc.svn\examples\java\android\forms\AndroidFormsActivity\AndroidFormsActivity\ApplicationActivity.cs

            // cmd /K c:\util\android-sdk-windows\platform-tools\adb.exe logcat
            // Camera PTP

            // http://developer.android.com/guide/topics/ui/notifiers/notifications.html

            base.onCreate(savedInstanceState);

            var sv = new ScrollView(this);
            var ll = new LinearLayout(this);

            ll.setOrientation(LinearLayout.VERTICAL);
            sv.addView(ll);


            var b = new android.widget.Button(this);

            // jsc is doing the wrong thing here
            var SDK_INT = android.os.Build.VERSION.SDK_INT;

            b.setText("Notify! " + new { SDK_INT, android.os.Build.VERSION.SDK });
            int counter = 0;



            // http://stackoverflow.com/questions/12900795/how-to-get-a-pin-number-password-keyboard-in-android
            //var t = new EditText(this);
            //t.setInputType(android.text.InputType.TYPE_NUMBER_VARIATION_PASSWORD);
            //t.setTransformationMethod(android.text.method.PasswordTransformationMethod.getInstance());
            //ll.addView(t);

            // ScriptCoreLib.Ultra ?
            b.AtClick(
                delegate
            {
                counter++;

                // X:\jsc.svn\examples\javascript\android\Test\TestPINDialog\TestPINDialog\ApplicationWebService.cs

                var alertDialog = new AlertDialog.Builder(this);

                alertDialog.setTitle("Hello world");



                alertDialog.setPositiveButton("OK",
                                              new xOnClickListener
                {
                    yield = delegate
                    {
                        b.setText("clicked! " + new { id = Thread.currentThread().getId() });
                    }
                }

                                              );


                var cc = new AndroidFormsActivity.ApplicationControl();


                //ScriptCoreLib.Extensions.Android.AndroidFormsExtensions.AttachTo(
                //    cc,

                // X:\jsc.svn\core\ScriptCoreLibAndroid.Windows.Forms\ScriptCoreLibAndroid.Windows.Forms\Extensions\Android\AndroidFormsExtensions.cs

                __Control _cc = cc;

                _cc.InternalSetContext(this);

                alertDialog.setView(_cc.InternalGetElement());


                // skip icons?
                //alertDialog.setIcon(android.R.drawable.star_off);

                // can we do async yet?
                alertDialog.create().show();
            }
                );

            ll.addView(b);

            this.setContentView(sv);

            // X:\jsc.svn\examples\java\android\HelloOpenGLES20Activity\HelloOpenGLES20Activity\ScriptCoreLib.Android\Shader.cs

            // Error	1	'FormsMessageBox.Activities.ApplicationActivity' does not contain a definition for 'ShowLongToast' and no extension method 'ShowLongToast' accepting a first argument of type 'FormsMessageBox.Activities.ApplicationActivity' could be found (are you missing a using directive or an assembly reference?)	X:\jsc.svn\examples\java\android\FormsMessageBox\FormsMessageBox\ApplicationActivity.cs	80	18	FormsMessageBox
            //this.ShowLongToast("http://jsc-solutions.net");
        }
コード例 #2
0
		/// <summary>
		/// Shows depth of field result into dialog.
		/// </summary>
		private void showResultDialog(params object[] args)
		{
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final android.app.AlertDialog.Builder dialog = new android.app.AlertDialog.Builder(this);
			AlertDialog.Builder dialog = new AlertDialog.Builder(this);

			View dialogView = LayoutInflater.inflate(R.layout.result_dialog_dof, null);

			ImageView autoFocusImage = (ImageView)dialogView.findViewById(R.id.autoFocusImage);
			autoFocusImage.ImageBitmap = (Bitmap)args[0];

			ImageView infinityFocusImage = (ImageView)dialogView.findViewById(R.id.infinityFocusImage);
			infinityFocusImage.ImageBitmap = (Bitmap)args[1];

			ImageView resultImage = (ImageView) dialogView.findViewById(R.id.resultDOFImage);
			resultImage.ImageBitmap = (Bitmap)args[2];

			dialog.setView(dialogView).setTitle("Capture result").setPositiveButton([email protected], new OnClickListenerAnonymousInnerClassHelper2(this, dialog));

			runOnUiThread(() =>
			{
				dialog.show();
			});
		}
コード例 #3
0
        public DialogResult ShowDialog()
        {
            this.InternalSetContext(
                global::ScriptCoreLib.Android.ThreadLocalContextReference.CurrentContext
                );

            // X:\jsc.svn\examples\java\android\forms\FormsMessageBox\FormsMessageBox\Library\ApplicationControl.cs
            // https://sites.google.com/a/jsc-solutions.net/backlog/knowledge-base/2014/201410/20141025
            // X:\jsc.svn\examples\java\android\Test\TestAlertDialog\TestAlertDialog\ApplicationActivity.cs

            var value       = default(global::System.Windows.Forms.DialogResult);
            var alertDialog = new AlertDialog.Builder(ScriptCoreLib.Android.ThreadLocalContextReference.CurrentContext);

            alertDialog.setTitle(this.Text);



            // https://sites.google.com/a/jsc-solutions.net/backlog/knowledge-base/2014/201410/20141026

            //E/AndroidRuntime( 1380): Caused by: java.lang.NoSuchMethodError: android.app.AlertDialog$Builder.setOnDismissListener
            //E/AndroidRuntime( 1380):        at ScriptCoreLib.Android.BCLImplementation.System.Windows.Forms.__Form.ShowDialog(__Form.java:110)

            // ?
            // alertDialog.setOnDismissListener(
            //    new xDialogInterface_OnDismissListener()
            //);

            //alertDialog.setPositiveButton("OK",
            //        new xDialogInterface_OnClickListener
            //{
            //    yield = delegate
            //    {
            //        value = global::System.Windows.Forms.DialogResult.OK;
            //    }
            //}
            //    );

            alertDialog.setView(this.InternalGetContainer());

            // skip icons?
            //alertDialog.setIcon(android.R.drawable.star_off);
            var dialog = alertDialog.create();

            dialog.setOnDismissListener(
                new xDialogInterface_OnDismissListener()
                );

            dialog.show();

            // http://stackoverflow.com/questions/13974661/runonuithread-vs-looper-getmainlooper-post-in-android
            // http://developer.android.com/reference/android/os/Looper.html

            __dismissOnClose(dialog);

            try
            {
                // loop until we throw null
                android.os.Looper.loop();
            }
            catch
            {
            }

            return(value);
        }
コード例 #4
0
        public override Dialog onCreateDialog(Bundle savedInstanceState)
        {
            EntryInfo entryInfo = Arguments.getParcelable(KEY_ENTRY_INFO);
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final boolean isModifying = (entryInfo != null);
            bool isModifying = (entryInfo != null);

            LayoutInflater inflater = Activity.LayoutInflater;

            View view = inflater.inflate(R.layout.dialog_entry, (ViewGroup)Activity.findViewById(android.R.id.content).RootView, false);

            logicalNameEditText = (EditText)view.findViewById(R.id.editTextLogicalName);
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final android.widget.Spinner deviceCategorySpinner = (android.widget.Spinner) view.findViewById(com.bxl.postest.R.id.spinnerDeviceCategory);
            Spinner deviceCategorySpinner = (Spinner)view.findViewById(R.id.spinnerDeviceCategory);

            deviceCategorySpinner.Selection = 2;             // POSPrinter

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final android.widget.Spinner productNameSpinner = (android.widget.Spinner) view.findViewById(com.bxl.postest.R.id.spinnerProductName);
            Spinner productNameSpinner = (Spinner)view.findViewById(R.id.spinnerProductName);

            productNameSpinner.OnItemSelectedListener = this;

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final android.widget.Spinner deviceBusSpinner = (android.widget.Spinner) view.findViewById(com.bxl.postest.R.id.spinnerDeviceBus);
            Spinner deviceBusSpinner = (Spinner)view.findViewById(R.id.spinnerDeviceBus);

            deviceBusSpinner.OnItemSelectedListener = this;
            addressLinearLayout = (LinearLayout)view.findViewById(R.id.linearLayoutAddress);

            if (isModifying)
            {
                logicalNameEditText.Text      = entryInfo.LogicalName;
                logicalNameEditText.Enabled   = false;
                logicalNameEditText.InputType = InputType.TYPE_NULL;

                string[] deviceCategories = Resources.getStringArray(R.array.device_categories);
                for (int i = 0; i < deviceCategories.Length; i++)
                {
                    if (deviceCategories[i].Equals(entryInfo.DeviceCategory))
                    {
                        deviceCategorySpinner.Selection = i;
                        break;
                    }
                }
                deviceCategorySpinner.Enabled = false;

                string[] productNames = Resources.getStringArray(R.array.product_name);
                for (int i = 0; i < productNames.Length; i++)
                {
                    if (productNames[i].Equals(entryInfo.ProductName))
                    {
                        productNameSpinner.Selection = i;
                        break;
                    }
                }
                productNameSpinner.Enabled = false;

                string[] deviceBuses = Resources.getStringArray(R.array.device_bus);
                for (int i = 0; i < deviceBuses.Length; i++)
                {
                    if (deviceBuses[i].Equals(entryInfo.DeviceBus))
                    {
                        deviceBusSpinner.Selection = i;
                        break;
                    }
                }
            }

            string title = Arguments.getString(KEY_TITLE);

            AlertDialog.Builder builder = new AlertDialog.Builder(Activity);
            builder.setView(view).setTitle(title).setPositiveButton("OK", new OnClickListenerAnonymousInnerClassHelper(this, entryInfo, isModifying, deviceCategorySpinner, productNameSpinner, deviceBusSpinner))
            .setNegativeButton("Cancel", new OnClickListenerAnonymousInnerClassHelper2(this));
            return(builder.create());
        }