private void Init(Context context, IAttributeSet attrs) { Init(context); MessageInputStyle style = MessageInputStyle.Parse(context, attrs); this.messageInput.SetMaxLines(style.getInputMaxLines()); this.messageInput.Hint = style.getInputHint(); this.messageInput.Text = style.getInputText(); this.messageInput.SetTextSize(ComplexUnitType.Px, style.getInputTextSize()); this.messageInput.SetTextColor(new ColorStateList(new int[][] { new int[] { 0 } }, new int[] { style.getInputTextColor() })); this.messageInput.SetHintTextColor(new ColorStateList(new int[][] { new int[] { 0 } }, new int[] { style.getInputHintColor() })); this.messageInput.Background = style.getInputBackground(); SetCursor(style.getInputCursorDrawable()); this.attachmentButton.Visibility = style.showAttachmentButton() ? ViewStates.Visible : ViewStates.Gone; this.attachmentButton.Background = style.getAttachmentButtonBackground(); this.attachmentButton.SetImageDrawable(style.getAttachmentButtonIcon()); this.attachmentButton.LayoutParameters.Width = style.getAttachmentButtonWidth(); this.attachmentButton.LayoutParameters.Height = style.getAttachmentButtonHeight(); this.attachmentButtonSpace.Visibility = style.showAttachmentButton() ? ViewStates.Visible : ViewStates.Gone; this.attachmentButtonSpace.LayoutParameters.Width = style.getAttachmentButtonMargin(); this.messageSendButton.Background = style.getInputButtonBackground(); this.messageSendButton.SetImageDrawable(style.getInputButtonIcon()); this.messageSendButton.LayoutParameters.Width = style.getInputButtonWidth(); this.messageSendButton.LayoutParameters.Height = style.getInputButtonHeight(); this.sendButtonSpace.LayoutParameters.Width = style.getInputButtonMargin(); if (PaddingLeft == 0 && PaddingRight == 0 && PaddingTop == 0 && PaddingBottom == 0) { SetPadding( style.getInputDefaultPaddingLeft(), style.getInputDefaultPaddingTop(), style.getInputDefaultPaddingRight(), style.getInputDefaultPaddingBottom() ); } }
public static MessageInputStyle Parse(Context context, IAttributeSet attrs) { MessageInputStyle style = new MessageInputStyle(context, attrs); TypedArray typedArray = context.ObtainStyledAttributes(attrs, Resource.Styleable.MessageInput); style._showAttachmentButton = typedArray.GetBoolean(Resource.Styleable.MessageInput_showAttachmentButton, false); style.attachmentButtonBackground = typedArray.GetResourceId(Resource.Styleable.MessageInput_attachmentButtonBackground, -1); style.attachmentButtonDefaultBgColor = typedArray.GetColor(Resource.Styleable.MessageInput_attachmentButtonDefaultBgColor, style.GetColor(Resource.Color.white_four)); style.attachmentButtonDefaultBgPressedColor = typedArray.GetColor(Resource.Styleable.MessageInput_attachmentButtonDefaultBgPressedColor, style.GetColor(Resource.Color.white_five)); style.attachmentButtonDefaultBgDisabledColor = typedArray.GetColor(Resource.Styleable.MessageInput_attachmentButtonDefaultBgDisabledColor, style.GetColor(Resource.Color.transparent)); style.attachmentButtonIcon = typedArray.GetResourceId(Resource.Styleable.MessageInput_attachmentButtonIcon, -1); style.attachmentButtonDefaultIconColor = typedArray.GetColor(Resource.Styleable.MessageInput_attachmentButtonDefaultIconColor, style.GetColor(Resource.Color.cornflower_blue_two)); style.attachmentButtonDefaultIconPressedColor = typedArray.GetColor(Resource.Styleable.MessageInput_attachmentButtonDefaultIconPressedColor, style.GetColor(Resource.Color.cornflower_blue_two_dark)); style.attachmentButtonDefaultIconDisabledColor = typedArray.GetColor(Resource.Styleable.MessageInput_attachmentButtonDefaultIconDisabledColor, style.GetColor(Resource.Color.cornflower_blue_light_40)); style.attachmentButtonWidth = typedArray.GetDimensionPixelSize(Resource.Styleable.MessageInput_attachmentButtonWidth, style.GetDimension(Resource.Dimension.input_button_width)); style.attachmentButtonHeight = typedArray.GetDimensionPixelSize(Resource.Styleable.MessageInput_attachmentButtonHeight, style.GetDimension(Resource.Dimension.input_button_height)); style.attachmentButtonMargin = typedArray.GetDimensionPixelSize(Resource.Styleable.MessageInput_attachmentButtonMargin, style.GetDimension(Resource.Dimension.input_button_margin)); style.inputButtonBackground = typedArray.GetResourceId(Resource.Styleable.MessageInput_inputButtonBackground, -1); style.inputButtonDefaultBgColor = typedArray.GetColor(Resource.Styleable.MessageInput_inputButtonDefaultBgColor, style.GetColor(Resource.Color.cornflower_blue_two)); style.inputButtonDefaultBgPressedColor = typedArray.GetColor(Resource.Styleable.MessageInput_inputButtonDefaultBgPressedColor, style.GetColor(Resource.Color.cornflower_blue_two_dark)); style.inputButtonDefaultBgDisabledColor = typedArray.GetColor(Resource.Styleable.MessageInput_inputButtonDefaultBgDisabledColor, style.GetColor(Resource.Color.white_four)); style.inputButtonIcon = typedArray.GetResourceId(Resource.Styleable.MessageInput_inputButtonIcon, -1); style.inputButtonDefaultIconColor = typedArray.GetColor(Resource.Styleable.MessageInput_inputButtonDefaultIconColor, style.GetColor(Resource.Color.white)); style.inputButtonDefaultIconPressedColor = typedArray.GetColor(Resource.Styleable.MessageInput_inputButtonDefaultIconPressedColor, style.GetColor(Resource.Color.white)); style.inputButtonDefaultIconDisabledColor = typedArray.GetColor(Resource.Styleable.MessageInput_inputButtonDefaultIconDisabledColor, style.GetColor(Resource.Color.warm_grey)); style.inputButtonWidth = typedArray.GetDimensionPixelSize(Resource.Styleable.MessageInput_inputButtonWidth, style.GetDimension(Resource.Dimension.input_button_width)); style.inputButtonHeight = typedArray.GetDimensionPixelSize(Resource.Styleable.MessageInput_inputButtonHeight, style.GetDimension(Resource.Dimension.input_button_height)); style.inputButtonMargin = typedArray.GetDimensionPixelSize(Resource.Styleable.MessageInput_inputButtonMargin, style.GetDimension(Resource.Dimension.input_button_margin)); style.inputMaxLines = typedArray.GetInt(Resource.Styleable.MessageInput_inputMaxLines, DEFAULT_MAX_LINES); style.inputHint = typedArray.GetString(Resource.Styleable.MessageInput_inputHint); style.inputText = typedArray.GetString(Resource.Styleable.MessageInput_inputText); style.inputTextSize = typedArray.GetDimensionPixelSize(Resource.Styleable.MessageInput_inputTextSize, style.GetDimension(Resource.Dimension.input_text_size)); style.inputTextColor = typedArray.GetColor(Resource.Styleable.MessageInput_inputTextColor, style.GetColor(Resource.Color.dark_grey_two)); style.inputHintColor = typedArray.GetColor(Resource.Styleable.MessageInput_inputHintColor, style.GetColor(Resource.Color.warm_grey_three)); style.inputBackground = typedArray.GetDrawable(Resource.Styleable.MessageInput_inputBackground); style.inputCursorDrawable = typedArray.GetDrawable(Resource.Styleable.MessageInput_inputCursorDrawable); typedArray.Recycle(); style.inputDefaultPaddingLeft = style.GetDimension(Resource.Dimension.input_padding_left); style.inputDefaultPaddingRight = style.GetDimension(Resource.Dimension.input_padding_right); style.inputDefaultPaddingTop = style.GetDimension(Resource.Dimension.input_padding_top); style.inputDefaultPaddingBottom = style.GetDimension(Resource.Dimension.input_padding_bottom); return(style); }