コード例 #1
0
 public virtual void setDigitsWatcher(android.text.TextWatcher watcher)
 {
     java.lang.CharSequence text = ((android.text.Editable)mDigits.getText());
     android.text.Spannable span = (android.text.Spannable)text;
     span.setSpan(watcher, 0, text.Length, android.text.SpannedClass.SPAN_INCLUSIVE_INCLUSIVE
                  );
 }
コード例 #2
0
        protected internal override bool pageDown(android.widget.TextView widget, android.text.Spannable
                                                  buffer)
        {
            android.text.Layout layout = widget.getLayout();
            bool selecting             = isSelecting(buffer);
            int  targetY = getCurrentLineTop(buffer, layout) + getPageHeight(widget);
            bool handled = false;

            for (; ;)
            {
                int previousSelectionEnd = android.text.Selection.getSelectionEnd(buffer);
                if (selecting)
                {
                    android.text.Selection.extendDown(buffer, layout);
                }
                else
                {
                    android.text.Selection.moveDown(buffer, layout);
                }
                if (android.text.Selection.getSelectionEnd(buffer) == previousSelectionEnd)
                {
                    break;
                }
                handled = true;
                if (getCurrentLineTop(buffer, layout) >= targetY)
                {
                    break;
                }
            }
            return(handled);
        }
コード例 #3
0
 // These bits are privately used by the meta key key listener.
 // They are deliberately assigned values outside of the representable range of an 'int'
 // so as not to conflict with any meta key states publicly defined by KeyEvent.
 /// <summary>Resets all meta state to inactive.</summary>
 /// <remarks>Resets all meta state to inactive.</remarks>
 public static void resetMetaState(android.text.Spannable text)
 {
     text.removeSpan(CAP);
     text.removeSpan(ALT);
     text.removeSpan(SYM);
     text.removeSpan(SELECTING);
 }
コード例 #4
0
ファイル: Linkify.cs プロジェクト: zhouweiaccp/XobotOS
 internal static void gatherLinks(java.util.ArrayList <android.text.util.LinkSpec>
                                  links, android.text.Spannable s, java.util.regex.Pattern pattern, string[] schemes
                                  , android.text.util.Linkify.MatchFilter matchFilter, android.text.util.Linkify.TransformFilter
                                  transformFilter)
 {
     throw new System.NotImplementedException();
 }
コード例 #5
0
 /// <summary>
 /// Call this if you are a method that ignores the locked meta state
 /// (arrow keys, for example) and you handle a key.
 /// </summary>
 /// <remarks>
 /// Call this if you are a method that ignores the locked meta state
 /// (arrow keys, for example) and you handle a key.
 /// </remarks>
 protected internal static void resetLockedMeta(android.text.Spannable content)
 {
     resetLock(content, CAP);
     resetLock(content, ALT);
     resetLock(content, SYM);
     resetLock(content, SELECTING);
 }
コード例 #6
0
		public virtual bool onKeyOther(android.widget.TextView widget, android.text.Spannable
			 text, android.view.KeyEvent @event)
		{
			int movementMetaState = getMovementMetaState(text, @event);
			int keyCode = @event.getKeyCode();
			if (keyCode != android.view.KeyEvent.KEYCODE_UNKNOWN && @event.getAction() == android.view.KeyEvent
				.ACTION_MULTIPLE)
			{
				int repeat = @event.getRepeatCount();
				bool handled = false;
				{
					for (int i = 0; i < repeat; i++)
					{
						if (!handleMovementKey(widget, text, keyCode, movementMetaState, @event))
						{
							break;
						}
						handled = true;
					}
				}
				if (handled)
				{
					android.text.method.MetaKeyKeyListener.adjustMetaAfterKeypress(text);
					android.text.method.MetaKeyKeyListener.resetLockedMeta(text);
				}
				return handled;
			}
			return false;
		}
コード例 #7
0
 public static bool moveToRightEdge(android.text.Spannable text, android.text.Layout
                                    layout)
 {
     int where = findEdge(text, layout, 1);
     setSelection(text, where);
     return(true);
 }
コード例 #8
0
 public static bool extendToLeftEdge(android.text.Spannable text, android.text.Layout
                                     layout)
 {
     int where = findEdge(text, layout, -1);
     extendSelection(text, where);
     return(true);
 }
コード例 #9
0
        /// <summary>
        /// Move the selection end to the buffer offset physically below
        /// the current selection end.
        /// </summary>
        /// <remarks>
        /// Move the selection end to the buffer offset physically below
        /// the current selection end.
        /// </remarks>
        public static bool extendDown(android.text.Spannable text, android.text.Layout layout
                                      )
        {
            int end  = getSelectionEnd(text);
            int line = layout.getLineForOffset(end);

            if (line < layout.getLineCount() - 1)
            {
                int move;
                if (layout.getParagraphDirection(line) == layout.getParagraphDirection(line + 1))
                {
                    float h = layout.getPrimaryHorizontal(end);
                    move = layout.getOffsetForHorizontal(line + 1, h);
                }
                else
                {
                    move = layout.getLineStart(line + 1);
                }
                extendSelection(text, move);
                return(true);
            }
            else
            {
                if (end != text.Length)
                {
                    extendSelection(text, text.Length);
                    return(true);
                }
            }
            return(true);
        }
コード例 #10
0
ファイル: StringBlock.cs プロジェクト: zhouweiaccp/XobotOS
        private static void addParagraphSpan(android.text.Spannable buffer, object what,
                                             int start, int end)
        {
            int len = buffer.Length;

            if (start != 0 && start != len && buffer[start - 1] != '\n')
            {
                for (start--; start > 0; start--)
                {
                    if (buffer[start - 1] == '\n')
                    {
                        break;
                    }
                }
            }
            if (end != 0 && end != len && buffer[end - 1] != '\n')
            {
                for (end++; end < len; end++)
                {
                    if (buffer[end - 1] == '\n')
                    {
                        break;
                    }
                }
            }
            buffer.setSpan(what, start, end, android.text.SpannedClass.SPAN_PARAGRAPH);
        }
コード例 #11
0
 public static int getInitialScrollY(android.widget.TextView widget, android.text.Spannable
                                     buffer)
 {
     android.text.method.Touch.DragState[] ds = buffer.getSpans <android.text.method.Touch
                                                                 .DragState>(0, buffer.Length);
     return(ds.Length > 0 ? ds[0].mScrollY : -1);
 }
コード例 #12
0
 public virtual void onSpanChanged(android.text.Spannable s, object what, int start
                                   , int end, int st, int en)
 {
     if (what == android.text.Selection.SELECTION_END)
     {
         s.removeSpan(ACTIVE);
     }
 }
コード例 #13
0
ファイル: DynamicLayout.cs プロジェクト: zhouweiaccp/XobotOS
 public virtual void onSpanRemoved(android.text.Spannable s, object o, int start,
                                   int end)
 {
     if (o is android.text.style.UpdateLayout)
     {
         reflow(s, start, end - start, end - start);
     }
 }
コード例 #14
0
 /// <summary>Move the selection edge to offset <code>index</code>.</summary>
 /// <remarks>Move the selection edge to offset <code>index</code>.</remarks>
 public static void extendSelection(android.text.Spannable text, int index)
 {
     if (text.getSpanStart(SELECTION_END) != index)
     {
         text.setSpan(SELECTION_END, index, index, android.text.SpannedClass.SPAN_POINT_POINT
                      );
     }
 }
コード例 #15
0
        protected internal override bool rightWord(android.widget.TextView widget, android.text.Spannable
                                                   buffer)
        {
            int selectionEnd = widget.getSelectionEnd();

            mWordIterator.setCharSequence(buffer, selectionEnd, selectionEnd);
            return(android.text.Selection.moveToFollowing(buffer, mWordIterator, isSelecting(
                                                              buffer)));
        }
コード例 #16
0
ファイル: DynamicLayout.cs プロジェクト: zhouweiaccp/XobotOS
 public virtual void onSpanChanged(android.text.Spannable s, object o, int start,
                                   int end, int nstart, int nend)
 {
     if (o is android.text.style.UpdateLayout)
     {
         reflow(s, start, end - start, end - start);
         reflow(s, nstart, nend - nstart, nend - nstart);
     }
 }
コード例 #17
0
        private static void resetLock(android.text.Spannable content, object what)
        {
            int current = content.getSpanFlags(what);

            if (current == LOCKED)
            {
                content.removeSpan(what);
            }
        }
コード例 #18
0
		/// <summary>
		/// Gets the meta state used for movement using the modifiers tracked by the text
		/// buffer as well as those present in the key event.
		/// </summary>
		/// <remarks>
		/// Gets the meta state used for movement using the modifiers tracked by the text
		/// buffer as well as those present in the key event.
		/// The movement meta state excludes the state of locked modifiers or the SHIFT key
		/// since they are not used by movement actions (but they may be used for selection).
		/// </remarks>
		/// <param name="buffer">The text buffer.</param>
		/// <param name="event">The key event.</param>
		/// <returns>The keyboard meta states used for movement.</returns>
		protected internal virtual int getMovementMetaState(android.text.Spannable buffer
			, android.view.KeyEvent @event)
		{
			// We ignore locked modifiers and SHIFT.
			int metaState = (@event.getMetaState() | android.text.method.MetaKeyKeyListener.getMetaState
				(buffer)) & ~(android.text.method.MetaKeyKeyListener.META_ALT_LOCKED | android.text.method.MetaKeyKeyListener
				.META_SYM_LOCKED);
			return android.view.KeyEvent.normalizeMetaState(metaState) & ~android.view.KeyEvent
				.META_SHIFT_MASK;
		}
コード例 #19
0
		/// <summary>Performs a scroll to top action.</summary>
		/// <remarks>
		/// Performs a scroll to top action.
		/// Scrolls to the top of the document.
		/// </remarks>
		/// <param name="widget">The text view.</param>
		/// <param name="buffer">The text buffer.</param>
		/// <returns>True if the event was handled.</returns>
		/// <hide></hide>
		protected internal virtual bool scrollTop(android.widget.TextView widget, android.text.Spannable
			 buffer)
		{
			android.text.Layout layout = widget.getLayout();
			if (getTopLine(widget) >= 0)
			{
				android.text.method.Touch.scrollTo(widget, layout, widget.getScrollX(), layout.getLineTop
					(0));
				return true;
			}
			return false;
		}
コード例 #20
0
 public virtual void onSpanChanged(android.text.Spannable arg0, java.lang.Object arg1, int arg2, int arg3, int arg4, int arg5)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         @__env.CallVoidMethod(this.JvmHandle, global::android.text.method.MultiTapKeyListener._onSpanChanged8123, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg3), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg4), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg5));
     }
     else
     {
         @__env.CallNonVirtualVoidMethod(this.JvmHandle, global::android.text.method.MultiTapKeyListener.staticClass, global::android.text.method.MultiTapKeyListener._onSpanChanged8123, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg3), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg4), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg5));
     }
 }
コード例 #21
0
ファイル: DialerKeyListener.cs プロジェクト: zffl/androidmono
 protected override int lookup(android.view.KeyEvent arg0, android.text.Spannable arg1)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         return(@__env.CallIntMethod(this.JvmHandle, global::android.text.method.DialerKeyListener._lookup8058, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1)));
     }
     else
     {
         return(@__env.CallNonVirtualIntMethod(this.JvmHandle, global::android.text.method.DialerKeyListener.staticClass, global::android.text.method.DialerKeyListener._lookup8058, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1)));
     }
 }
コード例 #22
0
		/// <summary>Performs a scroll to line start action.</summary>
		/// <remarks>
		/// Performs a scroll to line start action.
		/// Scrolls to the start of the line.
		/// </remarks>
		/// <param name="widget">The text view.</param>
		/// <param name="buffer">The text buffer.</param>
		/// <returns>True if the event was handled.</returns>
		/// <hide></hide>
		protected internal virtual bool scrollLineStart(android.widget.TextView widget, android.text.Spannable
			 buffer)
		{
			int minScrollX = getScrollBoundsLeft(widget);
			int scrollX = widget.getScrollX();
			if (scrollX > minScrollX)
			{
				widget.scrollTo(minScrollX, widget.getScrollY());
				return true;
			}
			return false;
		}
コード例 #23
0
		/// <summary>Performs a scroll to line end action.</summary>
		/// <remarks>
		/// Performs a scroll to line end action.
		/// Scrolls to the end of the line.
		/// </remarks>
		/// <param name="widget">The text view.</param>
		/// <param name="buffer">The text buffer.</param>
		/// <returns>True if the event was handled.</returns>
		/// <hide></hide>
		protected internal virtual bool scrollLineEnd(android.widget.TextView widget, android.text.Spannable
			 buffer)
		{
			int maxScrollX = getScrollBoundsRight(widget) - getInnerWidth(widget);
			int scrollX = widget.getScrollX();
			if (scrollX < maxScrollX)
			{
				widget.scrollTo(maxScrollX, widget.getScrollY());
				return true;
			}
			return false;
		}
コード例 #24
0
ファイル: SpanWatcher.cs プロジェクト: zffl/androidmono
 void android.text.SpanWatcher.onSpanChanged(android.text.Spannable arg0, java.lang.Object arg1, int arg2, int arg3, int arg4, int arg5)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         @__env.CallVoidMethod(this.JvmHandle, global::android.text.SpanWatcher_._onSpanChanged7802, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg3), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg4), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg5));
     }
     else
     {
         @__env.CallNonVirtualVoidMethod(this.JvmHandle, global::android.text.SpanWatcher_.staticClass, global::android.text.SpanWatcher_._onSpanChanged7802, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg3), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg4), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg5));
     }
 }
コード例 #25
0
 public virtual bool onKeyOther(android.widget.TextView arg0, android.text.Spannable arg1, android.view.KeyEvent arg2)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         return(@__env.CallBooleanMethod(this.JvmHandle, global::android.text.method.ArrowKeyMovementMethod._onKeyOther8033, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2)));
     }
     else
     {
         return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.text.method.ArrowKeyMovementMethod.staticClass, global::android.text.method.ArrowKeyMovementMethod._onKeyOther8033, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2)));
     }
 }
コード例 #26
0
 public override void onTakeFocus(android.widget.TextView arg0, android.text.Spannable arg1, int arg2)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         @__env.CallVoidMethod(this.JvmHandle, global::android.text.method.LinkMovementMethod._onTakeFocus8089, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2));
     }
     else
     {
         @__env.CallNonVirtualVoidMethod(this.JvmHandle, global::android.text.method.LinkMovementMethod.staticClass, global::android.text.method.LinkMovementMethod._onTakeFocus8089, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2));
     }
 }
コード例 #27
0
 protected override bool right(android.widget.TextView arg0, android.text.Spannable arg1)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         return(@__env.CallBooleanMethod(this.JvmHandle, global::android.text.method.LinkMovementMethod._right8083, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1)));
     }
     else
     {
         return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.text.method.LinkMovementMethod.staticClass, global::android.text.method.LinkMovementMethod._right8083, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1)));
     }
 }
コード例 #28
0
 public override bool onTouchEvent(android.widget.TextView arg0, android.text.Spannable arg1, android.view.MotionEvent arg2)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         return(@__env.CallBooleanMethod(this.JvmHandle, global::android.text.method.LinkMovementMethod._onTouchEvent8086, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2)));
     }
     else
     {
         return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.text.method.LinkMovementMethod.staticClass, global::android.text.method.LinkMovementMethod._onTouchEvent8086, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2)));
     }
 }
コード例 #29
0
 public virtual void initialize(android.widget.TextView arg0, android.text.Spannable arg1)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         @__env.CallVoidMethod(this.JvmHandle, global::android.text.method.ArrowKeyMovementMethod._initialize8028, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1));
     }
     else
     {
         @__env.CallNonVirtualVoidMethod(this.JvmHandle, global::android.text.method.ArrowKeyMovementMethod.staticClass, global::android.text.method.ArrowKeyMovementMethod._initialize8028, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1));
     }
 }
コード例 #30
0
 protected virtual bool down(android.widget.TextView arg0, android.text.Spannable arg1)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         return(@__env.CallBooleanMethod(this.JvmHandle, global::android.text.method.ScrollingMovementMethod._down8161, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1)));
     }
     else
     {
         return(@__env.CallNonVirtualBooleanMethod(this.JvmHandle, global::android.text.method.ScrollingMovementMethod.staticClass, global::android.text.method.ScrollingMovementMethod._down8161, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1)));
     }
 }