public static MessagesListStyle Parse(Context context, IAttributeSet attrs) { MessagesListStyle style = new MessagesListStyle(context, attrs); TypedArray typedArray = context.ObtainStyledAttributes(attrs, Resource.Styleable.MessagesList); style.textAutoLinkMask = typedArray.GetInt(Resource.Styleable.MessagesList_textAutoLink, 0); style.incomingTextLinkColor = typedArray.GetColor(Resource.Styleable.MessagesList_incomingTextLinkColor, style.GetSystemAccentColor()); style.outcomingTextLinkColor = typedArray.GetColor(Resource.Styleable.MessagesList_outcomingTextLinkColor, style.GetSystemAccentColor()); style.incomingAvatarWidth = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_incomingAvatarWidth, style.GetDimension(Resource.Dimension.message_avatar_width)); style.incomingAvatarHeight = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_incomingAvatarHeight, style.GetDimension(Resource.Dimension.message_avatar_height)); style.incomingBubbleDrawable = typedArray.GetResourceId(Resource.Styleable.MessagesList_incomingBubbleDrawable, -1); style.incomingDefaultBubbleColor = typedArray.GetColor(Resource.Styleable.MessagesList_incomingDefaultBubbleColor, style.GetColor(Resource.Color.white_two)); style.incomingDefaultBubblePressedColor = typedArray.GetColor(Resource.Styleable.MessagesList_incomingDefaultBubblePressedColor, style.GetColor(Resource.Color.white_two)); style.incomingDefaultBubbleSelectedColor = typedArray.GetColor(Resource.Styleable.MessagesList_incomingDefaultBubbleSelectedColor, style.GetColor(Resource.Color.cornflower_blue_two_24)); style.incomingImageOverlayDrawable = typedArray.GetResourceId(Resource.Styleable.MessagesList_incomingImageOverlayDrawable, -1); style.incomingDefaultImageOverlayPressedColor = typedArray.GetColor(Resource.Styleable.MessagesList_incomingDefaultImageOverlayPressedColor, style.GetColor(Resource.Color.transparent)); style.incomingDefaultImageOverlaySelectedColor = typedArray.GetColor(Resource.Styleable.MessagesList_incomingDefaultImageOverlaySelectedColor, style.GetColor(Resource.Color.cornflower_blue_light_40)); style.incomingDefaultBubblePaddingLeft = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_incomingBubblePaddingLeft, style.GetDimension(Resource.Dimension.message_padding_left)); style.incomingDefaultBubblePaddingRight = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_incomingBubblePaddingRight, style.GetDimension(Resource.Dimension.message_padding_right)); style.incomingDefaultBubblePaddingTop = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_incomingBubblePaddingTop, style.GetDimension(Resource.Dimension.message_padding_top)); style.incomingDefaultBubblePaddingBottom = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_incomingBubblePaddingBottom, style.GetDimension(Resource.Dimension.message_padding_bottom)); style.incomingTextColor = typedArray.GetColor(Resource.Styleable.MessagesList_incomingTextColor, style.GetColor(Resource.Color.dark_grey_two)); style.incomingTextSize = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_incomingTextSize, style.GetDimension(Resource.Dimension.message_text_size)); style.incomingTextStyle = typedArray.GetInt(Resource.Styleable.MessagesList_incomingTextStyle, 0); style.incomingTimeTextColor = typedArray.GetColor(Resource.Styleable.MessagesList_incomingTimeTextColor, style.GetColor(Resource.Color.warm_grey_four)); style.incomingTimeTextSize = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_incomingTimeTextSize, style.GetDimension(Resource.Dimension.message_time_text_size)); style.incomingTimeTextStyle = typedArray.GetInt(Resource.Styleable.MessagesList_incomingTimeTextStyle, 0); style.incomingImageTimeTextColor = typedArray.GetColor(Resource.Styleable.MessagesList_incomingImageTimeTextColor, style.GetColor(Resource.Color.warm_grey_four)); style.incomingImageTimeTextSize = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_incomingImageTimeTextSize, style.GetDimension(Resource.Dimension.message_time_text_size)); style.incomingImageTimeTextStyle = typedArray.GetInt(Resource.Styleable.MessagesList_incomingImageTimeTextStyle, 0); style.outcomingBubbleDrawable = typedArray.GetResourceId(Resource.Styleable.MessagesList_outcomingBubbleDrawable, -1); style.outcomingDefaultBubbleColor = typedArray.GetColor(Resource.Styleable.MessagesList_outcomingDefaultBubbleColor, style.GetColor(Resource.Color.cornflower_blue_two)); style.outcomingDefaultBubblePressedColor = typedArray.GetColor(Resource.Styleable.MessagesList_outcomingDefaultBubblePressedColor, style.GetColor(Resource.Color.cornflower_blue_two)); style.outcomingDefaultBubbleSelectedColor = typedArray.GetColor(Resource.Styleable.MessagesList_outcomingDefaultBubbleSelectedColor, style.GetColor(Resource.Color.cornflower_blue_two_24)); style.outcomingImageOverlayDrawable = typedArray.GetResourceId(Resource.Styleable.MessagesList_outcomingImageOverlayDrawable, -1); style.outcomingDefaultImageOverlayPressedColor = typedArray.GetColor(Resource.Styleable.MessagesList_outcomingDefaultImageOverlayPressedColor, style.GetColor(Resource.Color.transparent)); style.outcomingDefaultImageOverlaySelectedColor = typedArray.GetColor(Resource.Styleable.MessagesList_outcomingDefaultImageOverlaySelectedColor, style.GetColor(Resource.Color.cornflower_blue_light_40)); style.outcomingDefaultBubblePaddingLeft = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_outcomingBubblePaddingLeft, style.GetDimension(Resource.Dimension.message_padding_left)); style.outcomingDefaultBubblePaddingRight = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_outcomingBubblePaddingRight, style.GetDimension(Resource.Dimension.message_padding_right)); style.outcomingDefaultBubblePaddingTop = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_outcomingBubblePaddingTop, style.GetDimension(Resource.Dimension.message_padding_top)); style.outcomingDefaultBubblePaddingBottom = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_outcomingBubblePaddingBottom, style.GetDimension(Resource.Dimension.message_padding_bottom)); style.outcomingTextColor = typedArray.GetColor(Resource.Styleable.MessagesList_outcomingTextColor, style.GetColor(Resource.Color.white)); style.outcomingTextSize = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_outcomingTextSize, style.GetDimension(Resource.Dimension.message_text_size)); style.outcomingTextStyle = typedArray.GetInt(Resource.Styleable.MessagesList_outcomingTextStyle, 0); style.outcomingTimeTextColor = typedArray.GetColor(Resource.Styleable.MessagesList_outcomingTimeTextColor, style.GetColor(Resource.Color.white60)); style.outcomingTimeTextSize = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_outcomingTimeTextSize, style.GetDimension(Resource.Dimension.message_time_text_size)); style.outcomingTimeTextStyle = typedArray.GetInt(Resource.Styleable.MessagesList_outcomingTimeTextStyle, 0); style.outcomingImageTimeTextColor = typedArray.GetColor(Resource.Styleable.MessagesList_outcomingImageTimeTextColor, style.GetColor(Resource.Color.warm_grey_four)); style.outcomingImageTimeTextSize = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_outcomingImageTimeTextSize, style.GetDimension(Resource.Dimension.message_time_text_size)); style.outcomingImageTimeTextStyle = typedArray.GetInt(Resource.Styleable.MessagesList_outcomingImageTimeTextStyle, 0); style.dateHeaderPadding = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_dateHeaderPadding, style.GetDimension(Resource.Dimension.message_date_header_padding)); style.dateHeaderFormat = typedArray.GetString(Resource.Styleable.MessagesList_dateHeaderFormat); style.dateHeaderTextColor = typedArray.GetColor(Resource.Styleable.MessagesList_dateHeaderTextColor, style.GetColor(Resource.Color.warm_grey_two)); style.dateHeaderTextSize = typedArray.GetDimensionPixelSize(Resource.Styleable.MessagesList_dateHeaderTextSize, style.GetDimension(Resource.Dimension.message_date_header_text_size)); style.dateHeaderTextStyle = typedArray.GetInt(Resource.Styleable.MessagesList_dateHeaderTextStyle, 0); typedArray.Recycle(); return(style); }