public BaseCellView(Context context, Cell cell) : base(context) { _cell = cell; SetMinimumWidth((int)context.ToPixels(25)); SetMinimumHeight((int)context.ToPixels(25)); Orientation = Orientation.Horizontal; var padding = (int)context.FromPixels(8); SetPadding(padding, padding, padding, padding); _imageView = new ImageView(context); var imageParams = new LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.MatchParent) { Width = (int)context.ToPixels(60), Height = (int)context.ToPixels(60), RightMargin = 0, Gravity = GravityFlags.Center }; using (imageParams) AddView(_imageView, imageParams); var textLayout = new LinearLayout(context) { Orientation = Orientation.Vertical }; _mainText = new TextView(context); _mainText.SetSingleLine(true); _mainText.Ellipsize = TextUtils.TruncateAt.End; _mainText.SetPadding((int)context.ToPixels(15), padding, padding, padding); _mainText.SetTextAppearanceCompat(context, global::Android.Resource.Style.TextAppearanceSmall); using (var lp = new LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent)) textLayout.AddView(_mainText, lp); _detailText = new TextView(context); _detailText.SetSingleLine(true); _detailText.Ellipsize = TextUtils.TruncateAt.End; _detailText.SetPadding((int)context.ToPixels(15), padding, padding, padding); _detailText.Visibility = ViewStates.Gone; _detailText.SetTextAppearanceCompat(context, global::Android.Resource.Style.TextAppearanceSmall); using (var lp = new LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent)) textLayout.AddView(_detailText, lp); var layoutParams = new LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent) { Width = 0, Weight = 1, Gravity = GravityFlags.Center }; using (layoutParams) AddView(textLayout, layoutParams); SetMinimumHeight((int)context.ToPixels(DefaultMinHeight)); _androidDefaultTextColor = Color.FromUint((uint)_mainText.CurrentTextColor); }
static void UpdateMinimumHeightFromParent(Context context, AView view, ListView listView) { if (!listView.HasUnevenRows && listView.RowHeight > 0) view.SetMinimumHeight((int)context.ToPixels(listView.RowHeight)); }
static void UpdateMinimumHeightFromParent(Context context, AView view, TableView table) { if (!table.HasUnevenRows && table.RowHeight > 0) view.SetMinimumHeight((int)context.ToPixels(table.RowHeight)); }