protected override void UpdateCaptionDisplay(View cell) { if (cell == null) { return; } TextView _caption; TextView _subCaption; View _rawCheckboxView; DroidResources.DecodeBooleanElementLayout(Context, cell, out _caption, out _subCaption, out _rawCheckboxView); _caption.Text = Caption; if (_subCaption != null) { _subCaption.Text = SubCaption; } }
protected override void UpdateCaptionDisplay(View cell) { if (cell == null) { return; } ImageView achivementImage; TextView caption; TextView description; TextView percentageComplete; DroidResources.DecodeAchievementsElementLayout(Context, cell, out caption, out description, out percentageComplete, out achivementImage); if (caption != null) { caption.Text = Caption; } }
public override View GetView(Context context, View convertView, ViewGroup parent) { View view = DroidResources.LoadAchievementsElementLayout(context, convertView, parent, LayoutId, out _caption, out _description, out _percentageComplete, out _achivementImage); if (view != null) { _caption.Text = Caption; _description.Text = Description; _percentageComplete.Text = PercentageComplete.ToString(); if (AchievementImage != null) { _achivementImage.SetImageBitmap(AchievementImage); } } else { Android.Util.Log.Error("AchievementElement", "GetView failed to load template view"); } return(view); }
protected virtual void UpdatePercentageCompleteDisplay(View cell) { if (cell == null) { return; } ImageView achivementImage; TextView caption; TextView description; TextView percentageComplete; DroidResources.DecodeAchievementsElementLayout(Context, cell, out caption, out description, out percentageComplete, out achivementImage); if (percentageComplete != null) { percentageComplete.Text = PercentageComplete.ToString(CultureInfo.InvariantCulture); } }
protected override void UpdateDetailDisplay(View cell) { if (cell == null) { return; } TextView _caption; TextView _subCaption; View _rawCheckboxView; DroidResources.DecodeBooleanElementLayout(Context, cell, out _caption, out _subCaption, out _rawCheckboxView); var _checkbox = (CheckBox)_rawCheckboxView; _checkbox.SetOnCheckedChangeListener(null); _checkbox.Checked = Value; _checkbox.SetOnCheckedChangeListener(this); _checkbox.Clickable = !ReadOnly; }
protected override View GetViewImpl(Context context, View convertView, ViewGroup parent) { View view = DroidResources.LoadFloatElementLayout(context, convertView, parent, LayoutName); if (view != null) { TextView label; SeekBar slider; ImageView left; ImageView right; DroidResources.DecodeFloatElementLayout(Context, view, out label, out slider, out left, out right); slider.SetOnSeekBarChangeListener(this); } else { Android.Util.Log.Error("FloatElement", "GetViewImpl failed to load template view"); } return(view); }
public override void Selected() { if (CurrentAttachedCell == null) { // how did this happen?! return; } View _rawToggleButton; TextView _caption; TextView _subCaption; DroidResources.DecodeBooleanElementLayout(Context, CurrentAttachedCell, out _caption, out _subCaption, out _rawToggleButton); var _toggleButton = _rawToggleButton as ToggleButton; if (_toggleButton != null) { _toggleButton.Toggle(); } }
protected override void UpdateDetailDisplay(View cell) { if (cell == null) { return; } TextView label; SeekBar slider; ImageView left; ImageView right; DroidResources.DecodeFloatElementLayout(Context, cell, out label, out slider, out left, out right); if (left != null) { if (Left != null) { left.SetImageBitmap(Left); } else { left.Visibility = ViewStates.Gone; } } if (right != null) { if (Right != null) { right.SetImageBitmap(Right); } else { right.Visibility = ViewStates.Gone; } } if (slider != null) { slider.Max = (int)((_maxValue - _minValue) * precision); slider.Progress = (int)((Value - _minValue) * precision); } }
protected override void UpdateDetailDisplay(View cell) { if (cell == null) { return; } TextView label; TextView value; DroidResources.DecodeStringElementLayout(Context, CurrentAttachedCell, out label, out value); if (value != null) { value.Text = Format(Value); if (FontSize > 0) { value.TextSize = FontSize; } } }
protected override void UpdateDetailDisplay(View cell) { if (cell == null) { return; } View _rawToggleButton; TextView _caption; TextView _subCaption; DroidResources.DecodeBooleanElementLayout(Context, cell, out _caption, out _subCaption, out _rawToggleButton); var _toggleButton = _rawToggleButton as ToggleButton; if (_toggleButton != null) { _toggleButton.SetOnCheckedChangeListener(null); _toggleButton.Checked = Value; _toggleButton.SetOnCheckedChangeListener(this); if (TextOff != null) { _toggleButton.TextOff = TextOff; if (!Value) { _toggleButton.Text = TextOff; } } if (TextOn != null) { _toggleButton.TextOn = TextOn; if (Value) { _toggleButton.Text = TextOn; } } } }
protected override void OnViewModelSet() { base.OnViewModelSet(); DroidResources.Initialize(typeof(Resource.Layout)); SetContentView(Resource.Layout.View_CreateAccount); ViewGroup registerContainer = (ViewGroup)FindViewById <LinearLayout>(Resource.Id.registerContainer); SetDialog(registerContainer, 0); TextView lblTermsAndConditions = (TextView)FindViewById <TextView>(Resource.Id.lblTermsAndConditions); var ResourceAcklowledge = GetString(Resource.String.TermsAndConditionsAcknowledgment); var ResourceAcklowledgeBold = GetString(Resource.String.TermsAndConditionsLabel); var textWithBold = Html.FromHtml(ResourceAcklowledge.Replace(ResourceAcklowledgeBold, "<b>" + ResourceAcklowledgeBold + "</b>")); lblTermsAndConditions.SetText(textWithBold, TextView.BufferType.Spannable); var colorTheme = DrawHelper.GetTextColorForBackground(Resources.GetColor(Resource.Color.login_color)); var checkedIcon = Resources.GetDrawable(Resource.Drawable.@checked_custom); var uncheckedIcon = Resources.GetDrawable(Resource.Drawable.@unchecked_custom); var list = new StateListDrawable(); list.AddState(new int[] { Android.Resource.Attribute.StateChecked }, checkedIcon); list.AddState(new int[] { -Android.Resource.Attribute.StateChecked }, uncheckedIcon); list.AddState(new int[] { Android.Resource.Attribute.StatePressed }, checkedIcon); list.SetColorFilter(colorTheme, PorterDuff.Mode.Multiply); var checkBox = (CheckBox)FindViewById <CheckBox>(Resource.Id.cbTermsAndConditions); checkBox.SetButtonDrawable(list); checkBox.Invalidate(); DrawHelper.SupportLoginTextColor(lblTermsAndConditions); DrawHelper.SupportLoginTextColor(FindViewById <Button>(Resource.Id.btnCancel)); DrawHelper.SupportLoginTextColor(FindViewById <Button>(Resource.Id.btnCreate)); DrawHelper.SupportLoginTextColor(FindViewById <TextView>(Resource.Id.lblTitle)); }
protected override View GetViewImpl(Context context, View convertView, ViewGroup parent) { #warning convertView is junk here? View view; if (_layoutId > 0) { view = DroidResources.LoadLayout(context, parent, _layoutId); } else { view = DroidResources.LoadLayout(context, parent, LayoutName); } if (view == null) { Log.Error("Android.Dialog", "ViewElement: Failed to load resource: " + LayoutName); } else if (Populate != null) { Populate(view); } return(view); }
protected override View GetViewImpl(Context context, View convertView, ViewGroup parent) { var view = DroidResources.LoadStringEntryLayout(context, convertView, parent, LayoutName); if (view != null) { view.FocusableInTouchMode = false; view.Focusable = false; view.Clickable = false; TextView label; EditText _entry; DroidResources.DecodeStringEntryLayout(context, view, out label, out _entry); _entry.FocusableInTouchMode = true; _entry.Focusable = true; _entry.Clickable = true; var helper = EntryElementHelper.EnsureTagged(_entry); helper.Owner = this; } return(view); }
public override void Selected() { if (ReadOnly) { return; } if (CurrentAttachedCell == null) { // how on earth did this happen! return; } TextView _caption; TextView _subCaption; View _rawCheckboxView; DroidResources.DecodeBooleanElementLayout(Context, CurrentAttachedCell, out _caption, out _subCaption, out _rawCheckboxView); var _checkbox = (CheckBox)_rawCheckboxView; _checkbox.Toggle(); }
protected virtual void UpdateDescriptionDisplay(View cell) { if (cell == null) { return; } ImageView achivementImage; TextView caption; TextView description; TextView percentageComplete; DroidResources.DecodeAchievementsElementLayout(Context, cell, out caption, out description, out percentageComplete, out achivementImage); // TODO - this is slow for things which don't need complete rebinding... caption.Text = Caption; description.Text = Description; percentageComplete.Text = PercentageComplete.ToString(CultureInfo.InvariantCulture); if (AchievementImage != null) { achivementImage.SetImageBitmap(AchievementImage); } }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); DroidResources.Initialise(typeof(Resource.Layout)); var parser = new DroidElementBuilder(); var setter = new ExampleActionPropertySetter(); setter.Actions["ShowDialogActivity"] = (sender, args) => StartNew(); setter.Actions["ShowDialogListViewActivity"] = (sender, args) => ClickList(); setter.Actions["ElementTest"] = (sender, args) => ClickElementTest(); parser.CustomPropertySetters["Action"] = setter; var description = Newtonsoft.Json.JsonConvert.DeserializeObject <ElementDescription>(JsonText); Root = parser.Build(description) as RootElement; /* * Root = new RootElement("Test Root Elem") * { * new Section * { * new StringElement("Label", "Only Element in a Blank Section"), * }, * new Section("Test Header", "Test Footer") * { * new ButtonElement("DialogActivity", (o, e) => StartNew()), * new StringElement("DialogListView Activity") * { * Click = (o, e) => ClickList(), * LayoutName = "dialog_labelfieldright" * }, * new BooleanElement("Push my button", true), * new BooleanElement("Push this too", false), * new StringElement("Text label", "Click for EntryElement Test") * { * Click = (o, e) => ClickElementTest(), * }, * }, * new Section("Part II") * { * new StringElement("This is the String Element", "The Value"), * new CheckboxElement("Check this out", true), * new EntryElement("Username", string.Empty){ Hint = "Enter Login", }, * new EntryElement("Password", string.Empty) { * Hint = "Enter Password", * Password = true, * }, * }, * new Section("Group", new ViewElement(Android.Resource.Layout.SimpleListItem1) * { Populate = view => { view.FindViewById<TextView>(Android.Resource.Id.Text1).Text = "Custom footer view"; }, }) * { * new RootElement("Radio Group", new Android.Dialog.RadioGroup("dessert", 1)) * { * new Section * { * new RadioElement("Ice Cream Sandwich", "dessert"), * new RadioElement("Honeycomb", "dessert"), * new RadioElement("Gingerbread", "dessert"), * }, * }, * } * }; */ ValueChanged += root_ValueChanged; }
protected override View GetViewImpl(Context context, ViewGroup parent) { View view = DroidResources.LoadBooleanElementLayout(context, parent, LayoutName); return(view); }
protected virtual void InitializeDialogBinding(Type resourceLayoutType) { DroidResources.Initialize(resourceLayoutType /*typeof(Resource.Layout)*/); }
private int GetTemplateId() { return(DroidResources.FindResourceId("listitem_" + this._templateName)); }
protected override View GetViewImpl(Context context, ViewGroup parent) { return(DroidResources.LoadStringElementLayout(context, parent, LayoutName)); }
protected override void UpdateDetailDisplay(View cell) { if (cell == null) { return; } TextView label; EditText _entry; DroidResources.DecodeStringEntryLayout(Context, cell, out label, out _entry); if (_entry == null) { return; } if (_entry.Text != Value) { _entry.Text = Value; } if (_entry.Hint != Hint) { _entry.Hint = Hint; } var inputType = KeyboardType.InputTypesFromUIKeyboardType(); if (Password) { inputType |= InputTypes.TextVariationPassword; } if (IsEmail) { inputType |= AndroidDialogEnumHelper.KeyboardTypeMap[UIKeyboardType.EmailAddress]; } if (Numeric) { inputType |= AndroidDialogEnumHelper.KeyboardTypeMap[UIKeyboardType.DecimalPad]; } if (NoAutoCorrect) { inputType |= AndroidDialogEnumHelper.KeyboardTypeMap[UIKeyboardType.NoAutoCorrect]; } if (Lines > 1) { inputType |= InputTypes.TextFlagMultiLine; if (_entry.LineCount != Lines) { _entry.SetLines(Lines); } } else if (Send != null) { if (_entry.ImeOptions != ImeAction.Go) { _entry.ImeOptions = ImeAction.Go; _entry.SetImeActionLabel("Go", ImeAction.Go); } } else { var imeOptions = ReturnKeyType.ImeActionFromUIReturnKeyType(); if (_entry.ImeOptions != imeOptions) { _entry.ImeOptions = imeOptions; } } if (_entry.InputType != inputType) { _entry.InputType = inputType; } //android can't seem to find the correct NextFocusDown if items are added dynamically, we'll catch the next/previous ourselves _entry.EditorAction += (sender, args) => { if (args.ActionId == ImeAction.Next || (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Honeycomb && args.ActionId == ImeAction.Previous)) { ViewGroup group = _entry.Parent as ViewGroup; IViewParent currentLoop = _entry.Parent; while (currentLoop != null) { currentLoop = currentLoop.Parent; if (currentLoop is ViewGroup) { group = (ViewGroup)currentLoop; } } var focus = FocusFinder.Instance.FindNextFocus(group, _entry, args.ActionId == ImeAction.Next ? FocusSearchDirection.Down : FocusSearchDirection.Up); if (focus != null) { focus.RequestFocus(); focus.RequestFocusFromTouch(); } } }; }