protected override void OnCreate(Bundle bundle) { base.OnCreate (bundle); // Create your application here SetContentView(Resource.Layout.TestTable); mainTable = FindViewById <TableLayout> (Resource.Id.maintable); for (int i=0; i<10 ; i++){ // Create a TableRow and give it an ID TableRow tr = new TableRow(this); tr.Id = 100+i; tr.LayoutParameters = new TableRow.LayoutParams(TableRow.LayoutParams.MatchParent, TableRow.LayoutParams.WrapContent); // Create a TextView for column 1 TextView col1 = new TextView(this); col1.Id = 200+i; col1.Text = ("col1"); col1.SetPadding(0,0,2,0); col1.SetTextColor(Android.Graphics.Color.Black); col1.LayoutParameters = new TableRow.LayoutParams(TableRow.LayoutParams.MatchParent, TableRow.LayoutParams.WrapContent); tr.AddView(col1); // Create a TextView for column 2 TextView col2 = new TextView(this); col2.Id = 300 + i; col2.Text = "col2"; col2.SetPadding(0,0,2,0); col2.SetTextColor(Android.Graphics.Color.Black); col2.LayoutParameters = new TableRow.LayoutParams(TableRow.LayoutParams.MatchParent, TableRow.LayoutParams.WrapContent); tr.AddView(col2); // Create a TextView for column 3 TextView col3 = new TextView(this); col3.Id = 500+i; col3.Text = DateTime.Now.ToString("dd.MM"); col3.SetTextColor(Android.Graphics.Color.Black); if (i%2 == 0) { col1.SetBackgroundColor(Android.Graphics.Color.White); col2.SetBackgroundColor(Android.Graphics.Color.White); col3.SetBackgroundColor(Android.Graphics.Color.White); tr.SetBackgroundColor(Android.Graphics.Color.White); } else { tr.SetBackgroundColor(Android.Graphics.Color.LightGray); col1.SetBackgroundColor(Android.Graphics.Color.LightGray); col2.SetBackgroundColor(Android.Graphics.Color.LightGray); col3.SetBackgroundColor(Android.Graphics.Color.LightGray); } col3.SetHorizontallyScrolling(false); col3.SetMaxLines(100); col3.LayoutParameters = new TableRow.LayoutParams(TableRow.LayoutParams.MatchParent, TableRow.LayoutParams.WrapContent, 1f); tr.AddView(col3); // Add the TableRow to the TableLayout mainTable.AddView(tr, new TableLayout.LayoutParams(TableLayout.LayoutParams.MatchParent, TableLayout.LayoutParams.WrapContent)); //i++; } }
public PrayerLayoutRender( RectangleF bounds, float prayerActionHeight, Rock.Client.PrayerRequest prayer ) { PrayerActionHeight = prayerActionHeight; // Create the core layout that stores the prayer LinearLayout = new LinearLayout( Rock.Mobile.PlatformSpecific.Android.Core.Context ); LinearLayout.LayoutParameters = new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent ); LinearLayout.Orientation = Orientation.Vertical; // add the name NameLayout = new BorderedRectView( Rock.Mobile.PlatformSpecific.Android.Core.Context ); NameLayout.LayoutParameters = new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent ); NameLayout.SetBackgroundColor( Rock.Mobile.UI.Util.GetUIColor( ControlStylingConfig.BG_Layer_BorderColor ) ); ( (LinearLayout.LayoutParams)NameLayout.LayoutParameters ).Weight = 1; LinearLayout.AddView( NameLayout ); Name = new TextView( Rock.Mobile.PlatformSpecific.Android.Core.Context ); Name.LayoutParameters = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent ); ((RelativeLayout.LayoutParams)Name.LayoutParameters).TopMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 5 ); ((RelativeLayout.LayoutParams)Name.LayoutParameters).LeftMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 5 ); ((RelativeLayout.LayoutParams)Name.LayoutParameters).RightMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 5 ); ((RelativeLayout.LayoutParams)Name.LayoutParameters).BottomMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 5 ); Name.SetTextColor( Rock.Mobile.UI.Util.GetUIColor( ControlStylingConfig.TextField_ActiveTextColor ) ); Name.SetTypeface( Rock.Mobile.PlatformSpecific.Android.Graphics.FontManager.Instance.GetFont( ControlStylingConfig.Font_Bold ), TypefaceStyle.Normal ); Name.SetTextSize( ComplexUnitType.Dip, ControlStylingConfig.Small_FontSize ); Name.SetMaxLines( 1 ); Name.SetSingleLine( ); Name.SetHorizontallyScrolling( true ); Name.Ellipsize = Android.Text.TextUtils.TruncateAt.End; Name.Text = prayer.FirstName.ToUpper( ); NameLayout.AddView( Name ); // create the layout for managing the category / date LinearLayout detailsLayout = new LinearLayout( Rock.Mobile.PlatformSpecific.Android.Core.Context ); detailsLayout.Orientation = Orientation.Horizontal; detailsLayout.LayoutParameters = new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent ); LinearLayout.AddView( detailsLayout ); // add the category layout CategoryLayout = new BorderedRectView( Rock.Mobile.PlatformSpecific.Android.Core.Context ); CategoryLayout.LayoutParameters = new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent ); CategoryLayout.BorderWidth = 1; CategoryLayout.SetBorderColor( Rock.Mobile.UI.Util.GetUIColor( ControlStylingConfig.BG_Layer_Color ) ); CategoryLayout.SetBackgroundColor( Rock.Mobile.UI.Util.GetUIColor( ControlStylingConfig.BG_Layer_BorderColor ) ); ( (LinearLayout.LayoutParams)CategoryLayout.LayoutParameters ).LeftMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( -4 ); ( (LinearLayout.LayoutParams)CategoryLayout.LayoutParameters ).RightMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( -1 ); ( (LinearLayout.LayoutParams)CategoryLayout.LayoutParameters ).Weight = 1; detailsLayout.AddView( CategoryLayout ); // category Category = new TextView( Rock.Mobile.PlatformSpecific.Android.Core.Context ); Category.LayoutParameters = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent ); ((RelativeLayout.LayoutParams)Category.LayoutParameters).TopMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 5 ); ((RelativeLayout.LayoutParams)Category.LayoutParameters).LeftMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 9 ); ((RelativeLayout.LayoutParams)Category.LayoutParameters).RightMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 9 ); ((RelativeLayout.LayoutParams)Category.LayoutParameters).BottomMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 5 ); Category.SetTextColor( Rock.Mobile.UI.Util.GetUIColor( ControlStylingConfig.TextField_ActiveTextColor ) ); Category.SetTypeface( Rock.Mobile.PlatformSpecific.Android.Graphics.FontManager.Instance.GetFont( ControlStylingConfig.Font_Light ), TypefaceStyle.Normal ); Category.SetTextSize( ComplexUnitType.Dip, ControlStylingConfig.Small_FontSize ); Category.SetMaxLines( 1 ); Category.SetSingleLine( ); Category.SetHorizontallyScrolling( true ); Category.Ellipsize = Android.Text.TextUtils.TruncateAt.End; Category.Text = prayer.CategoryId.HasValue ? RockGeneralData.Instance.Data.PrayerIdToCategory( prayer.CategoryId.Value ) : RockGeneralData.Instance.Data.PrayerCategories[ 0 ].Name; CategoryLayout.AddView( Category ); // add the date layout DateLayout = new BorderedRectView( Rock.Mobile.PlatformSpecific.Android.Core.Context ); DateLayout.LayoutParameters = new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent ); DateLayout.BorderWidth = 1; DateLayout.SetBorderColor( Rock.Mobile.UI.Util.GetUIColor( ControlStylingConfig.BG_Layer_Color ) ); DateLayout.SetBackgroundColor( Rock.Mobile.UI.Util.GetUIColor( ControlStylingConfig.BG_Layer_BorderColor ) ); ( (LinearLayout.LayoutParams)DateLayout.LayoutParameters ).LeftMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( -1 ); ( (LinearLayout.LayoutParams)DateLayout.LayoutParameters ).RightMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( -4 ); ( (LinearLayout.LayoutParams)DateLayout.LayoutParameters ).Weight = 1; detailsLayout.AddView( DateLayout ); // date Date = new TextView( Rock.Mobile.PlatformSpecific.Android.Core.Context ); Date.LayoutParameters = new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent ); ((RelativeLayout.LayoutParams)Date.LayoutParameters).TopMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 5 ); ((RelativeLayout.LayoutParams)Date.LayoutParameters).RightMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 13 ); ((RelativeLayout.LayoutParams)Date.LayoutParameters).BottomMargin = (int)Rock.Mobile.Graphics.Util.UnitToPx( 5 ); ((RelativeLayout.LayoutParams)Date.LayoutParameters ).AddRule( LayoutRules.AlignParentRight ); Date.SetTextColor( Rock.Mobile.UI.Util.GetUIColor( ControlStylingConfig.TextField_ActiveTextColor ) ); Date.SetTypeface( Rock.Mobile.PlatformSpecific.Android.Graphics.FontManager.Instance.GetFont( ControlStylingConfig.Font_Light ), TypefaceStyle.Normal ); Date.SetTextSize( ComplexUnitType.Dip, ControlStylingConfig.Small_FontSize ); Date.Text = string.Format( "{0:MM/dd/yy}", prayer.EnteredDateTime ); DateLayout.AddView( Date ); // actual prayer Prayer = new TextView( Rock.Mobile.PlatformSpecific.Android.Core.Context ); UpdatePrayerLayout( bounds ); Prayer.SetTextColor( Rock.Mobile.UI.Util.GetUIColor( ControlStylingConfig.TextField_PlaceholderTextColor ) ); Prayer.SetTypeface( Rock.Mobile.PlatformSpecific.Android.Graphics.FontManager.Instance.GetFont( ControlStylingConfig.Font_Regular ), TypefaceStyle.Normal ); Prayer.SetTextSize( ComplexUnitType.Dip, ControlStylingConfig.Medium_FontSize ); Prayer.Text = prayer.Text; LinearLayout.AddView( Prayer ); }